Del manual de bash
Las reglas relativas a la definición y uso de alias son algo confusas. Bash siempre lee al menos una línea completa de entrada antes de ejecutar cualquiera de los comandos en esa línea. Los alias se expanden cuando se lee un comando, no cuando se ejecuta. Por lo tanto, una definición de alias que aparece en la misma línea que otro comando no tiene efecto hasta que se lea la siguiente línea de entrada. Los comandos que siguen a la definición de alias en esa línea no se ven afectados por el nuevo alias. Este comportamiento también es un problema cuando se ejecutan funciones. Los alias se expanden cuando se lee una definición de función, no cuando se ejecuta la función , porque una definición de función es en sí misma un comando compuesto. Como consecuencia, los alias definidos en una función no están disponibles hasta después de que se ejecuta esa función . Para estar seguro, siempre coloque las definiciones de alias en una línea separada y no use alias en comandos compuestos.
Las dos oraciones "Los alias se expanden cuando se lee una definición de función, no cuando se ejecuta la función" y "los alias definidos en una función no están disponibles hasta después de que se ejecuta esa función" parecen ser opuestos entre sí.
¿Puedes explicar lo que significan respectivamente?
.bashrc
archivos en la parte superior.