Du manuel bash
Les règles concernant la définition et l'utilisation des alias sont quelque peu confuses. Bash lit toujours au moins une ligne d'entrée complète avant d'exécuter l'une des commandes de cette ligne. Les alias sont développés lors de la lecture d'une commande et non lors de son exécution. Par conséquent, une définition d'alias apparaissant sur la même ligne qu'une autre commande ne prend effet que lorsque la ligne d'entrée suivante est lue. Les commandes suivant la définition d'alias sur cette ligne ne sont pas affectées par le nouvel alias. Ce comportement est également un problème lorsque des fonctions sont exécutées. Les alias sont développés lors de la lecture d'une définition de fonction, pas lors de l'exécution de la fonction , car une définition de fonction est elle-même une commande composée. En conséquence, les alias définis dans une fonction ne sont disponibles qu'après l'exécution de cette fonction . Pour être sûr, placez toujours les définitions d'alias sur une ligne distincte et n'utilisez pas d'alias dans les commandes composées.
Les deux phrases «Les alias sont étendus lorsqu'une définition de fonction est lue, pas lorsque la fonction est exécutée» et «les alias définis dans une fonction ne sont disponibles qu'après l'exécution de cette fonction» semblent opposées.
Pouvez-vous expliquer ce qu'ils signifient respectivement?
.bashrc
fichiers tout en haut.