Aus dem Bash-Handbuch
Die Regeln zur Definition und Verwendung von Aliasen sind etwas verwirrend. Bash liest immer mindestens eine vollständige Eingabezeile, bevor ein Befehl in dieser Zeile ausgeführt wird. Aliase werden beim Lesen eines Befehls erweitert, nicht beim Ausführen. Daher wird eine Aliasdefinition, die in derselben Zeile wie ein anderer Befehl angezeigt wird, erst wirksam, wenn die nächste Eingabezeile gelesen wird. Die Befehle, die der Aliasdefinition in dieser Zeile folgen, sind vom neuen Alias nicht betroffen. Dieses Verhalten ist auch ein Problem, wenn Funktionen ausgeführt werden. Aliase werden beim Lesen einer Funktionsdefinition erweitert, nicht beim Ausführen der Funktion , da eine Funktionsdefinition selbst ein zusammengesetzter Befehl ist. Als Konsequenz, In einer Funktion definierte Aliase sind erst verfügbar, nachdem diese Funktion ausgeführt wurde . Platzieren Sie Aliasdefinitionen aus Sicherheitsgründen immer in einer separaten Zeile, und verwenden Sie sie nicht in zusammengesetzten Befehlen.
Die beiden Sätze "Aliase werden erweitert, wenn eine Funktionsdefinition gelesen wird, nicht wenn die Funktion ausgeführt wird" und "Aliase, die in einer Funktion definiert sind, sind erst verfügbar, nachdem diese Funktion ausgeführt wurde" scheinen sich zu widersprechen.
Kannst du erklären, was sie bedeuten?
.bashrc
Dateien ganz oben angetroffen habe .