
Angenommen, ich habe einen Alias in der Bash-Shell. Gibt es einen einfachen Befehl, um auszudrucken, welchen Befehl der Alias ausführt?
Antwort1
Das type
Builtin ist hierfür hilfreich. Es informiert Sie nicht nur über Aliase, sondern auch über Funktionen, Builtins, Schlüsselwörter und externe Befehle.
$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep ()
{
ps -ef | {
read -r;
printf '%s\n' "$REPLY";
grep --color=auto "$@"
}
}
type -a cmd
zeigt alle Befehle mit diesem Namen in der Reihenfolge ihrer Priorität an, was für den ls
oben stehenden Alias nützlich ist, da der Alias selbst aufruft ls
.
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
Dadurch erfahren Sie, dass beim Ausführen verwendet und in die Argumentliste aufgenommen wird, zusätzlich zu allen anderen Argumenten, die Sie selbst hinzufügen ls
./bin/ls
--color=auto
Antwort2
Geben Sie einfach alias
in der Shell-Eingabeaufforderung Folgendes ein. Es sollte eine Liste aller derzeit aktiven Aliase ausgegeben werden.
Oder Sie können eingeben, alias [command]
um zu sehen, wozu ein bestimmter Alias dient. Wenn Sie beispielsweise herausfinden möchten, wozu der ls
Alias dient, können Sie Folgendes tun alias ls
.
Antwort3
Ich mag Ctrl+ Alt+ sehr E, da ich gelernt habe vondiese Antwort. Es „erweitert“ die aktuell eingegebene Befehlszeile, d. h. es führt (unter anderem) eine Alias-Erweiterung durch.
Was bedeutet das? Es wandelt jeden Alias, der aktuell in der Kommandozeile steht, in das um, wofür der Alias steht.
Wenn ich beispielsweise Folgendes eingebe:
$ ls
und dann Ctrl+ Alt+ drücken E, es wird umgewandelt in
$ ls --time-style=locale --color=auto
Antwort4
Sie könnten den which
Befehl verwenden.
Wenn Sie einen Alias für ls
as festlegen ls -al
und dann eingeben which ls
, wird Folgendes angezeigt:
ls: aliased to ls -al
.