Der which
Befehl gibt nur ausführbare Dateien zurück: Er kennt keine Aliase, da es sich um ein externes Programm handelt und es keinen Mechanismus gibt, um Aliasinformationen an einen untergeordneten Prozess zu übergeben.
Wenn Sie den Befehl eingeben type -a cp
, werden alle möglichen Interpretationen in der bevorzugten Reihenfolge angezeigt. Dies schließt alle Aliasnamen ein, da type
es sich um einen bash
internen Befehl handelt.
Es ist wichtig zu wissen, dass ein Alias nicht von einem Unterprozess wie einem Skript oder einem interaktiven Editor interpretiert wird, der die Option zum Ausführen von Systembefehlen hat.
Wenn Sie cp
eine Funktion erstellen, wird Ihre Version in Skripts ausgeführt, jedoch nicht von anderen Programmen:
cp() { /usr/local/bin/gcp "$@"; }
Wenn Sie möchten, dass Sie cp
überall arbeiten, fügen Sie $HOME/bin
den Anfang Ihrer PATH
Liste hinzu und zeigen Sie $HOME/bin/cp
auf einen Punkt:
ln -s /usr/local/bin/gcp $HOME/bin/cp
Dadurch wird ein symbolischer Link erstellt, obwohl Sie einen etwas effizienteren Hardlink (auslassen -s
) erstellen können. Normalerweise benötigen Sie dazu jedoch root-Berechtigungen ( sudo ln ...
). Das Erstellen einer Funktion und das Hinzufügen der PATH
Variablen erfolgt in einem der bash
Startskripts mit Benutzerberechtigungen.