Alias: Unterschied zwischen den Versionen
Zeile 87: | Zeile 87: | ||
= TMP = | = TMP = | ||
Version vom 15. November 2024, 09:59 Uhr
alias - Kurznamen für Befehlsaufrufe
Beschreibung
Zur Abkürzung immer wiederkehrender Kommandofolgen lassen sich für diese Aliasse definieren.
- Ein Alias erlaubt es, ein Wort durch ein einfaches Kommando vor der Ausführung der Kommandozeile ersetzen zu lassen.
- Aliase sind nützlich, um festzulegen, welche Version eines Befehls ausgeführt werden soll oder um Optionen für die Ausführung von Befehlen festzulegen.
- Auch Tippfehler können abgefangen oder korrigiert werden.
- alias weist einem Befehl oder einer Befehlsfolge einen neuen Namen zu.
- Beispiele für Windows-Umsteiger
- Die Shell unterhält eine Liste von Aliasen, die mit den internen Befehlen alias und unalias gesetzt und gelöscht werden können.
- Ein Alias existiert bis zum Ende der Shell
- in der er definiert wurde oder
- bis zum expliziten Löschen mit unalias
unalias dir unalias cdlin cdlin bash: cdlin: command not found # ein Alias ist nur in der Shell seiner Definition bekannt: bash md tmp bash: md: command not found
Das erste Wort jedes einfachen Befehls, sofern es nicht in Anführungszeichen steht, wird daraufhin überprüft, ob es einen Alias hat.
- Wenn ja, wird dieses Wort durch den Text des Alias ersetzt.
- Der Alias-Name und der Ersetzungstext können alle gültigen Shell-Eingaben enthalten, einschließlich Shell-Metazeichen, mit der Ausnahme, dass der Alias-Name kein "=" enthalten darf.
Das erste Wort des Ersetzungstextes wird auf Aliasnamen geprüft, aber ein Wort, das mit einem Aliasnamen identisch ist, der gerade expandiert wird, wird nicht ein zweites Mal expandiert.
- Das bedeutet, dass man z. B. den Alias ls in ls -F umwandeln kann und die Bash nicht versuchen wird, den Ersatztext rekursiv zu expandieren.
Wenn das letzte Zeichen des Alias-Wertes ein Leer- oder Tabulatorzeichen ist, wird das nächste Befehlswort, das auf den Alias folgt, ebenfalls auf Alias-Expansion geprüft.
- Aliase werden nicht expandiert, wenn die Shell nicht interaktiv ist, es sei denn, die Option expand_aliases wurde mit der eingebauten Shell shopt gesetzt.
Die Bash liest die gesamte Zeile, bevor ein Befehl aus der Zeile ausgeführt wird.
- Aliase werden expandiert, wenn der Befehl gelesen, nicht, wenn er ausgeführt wird.
Deshalb greifen Aliase, die in der gleichen Zeile definiert werden, erst in der nächsten Befehlszeile.
- Ein auf die Alias-Definition folgender Befehl wird von der Alias-Definition nicht beeinflusst.
- Dieses Verhalten spielt auch eine Rolle bei der Ausführung von Funktionen.
Aliase werden erweitert, wenn eine Funktionsdefinition gelesen wird, nicht wenn die Funktion ausgeführt wird, da eine Funktionsdefinition selbst ein zusammengesetzter Befehl ist.
- Dies hat zur Folge, dass in einer Funktion definierte Aliase erst nach der Ausführung der Funktion verfügbar sind.
- Um sicher zu gehen, sollten Sie Alias-Definitionen immer in eine eigene Zeile schreiben und Alias nicht in zusammengesetzten Befehlen verwenden.
- Aliase werden nicht an Kindprozesse vererbt.
- Die Bourne-Shell (sh) erkennt keine Aliasnamen.
- Funktionen sind schneller
- Die Bash sucht nach Funktionen, bevor sie Aliase auflöst
- Aliase sind einfacher zu verstehen, Funktionen sind schneller
Installation
Aufruf
alias shortName="your custom command here"
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Problembehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks