Angenommen, ich habe einen Alias in der Bash-Shell. Gibt es einen einfachen Befehl zum Ausdrucken des Befehls, den der Alias ausführen soll?
command-line
bash
alias
Casebash
quelle
quelle
type
bis Sie etwas anderes als ein Aliastype
Anführungszeichen analysiert / interpretiert werden, damit Sie sicherstellen können, dass die Anführungszeichen richtig sind.ls is aliased to 'ls --color=auto'
, aber wie kann ich eine Ebene tiefer gehen, um zu sehen, ob / bin / ls oder / usr / local / bin / ls verwendet wird oder was?type -a ls
zeigt alle gefundenen ls-Befehle in der Reihenfolge ihrer Präferenz an. Was sich direkt unter dem Alias befindet, wird vom Alias ausgeführt.Geben Sie einfach
alias
an der Shell-Eingabeaufforderung ein. Es sollte eine Liste aller derzeit aktiven Aliase ausgegeben werden.Sie können auch
alias [command]
eingeben, um zu sehen, auf welchen Alias ein bestimmter Alias angewendet wird. Wenn Sie beispielsweise herausfindenls
möchten, auf welche Weise der Alias angewendet wurde, können Sie dies tunalias ls
.quelle
alias ls
, um herauszufinden, worauf genauls
abgestellt ist.type
Funktioniert jedoch in beiden Fällen.Ich mag wirklich Ctrl+ Alt+ , Ewie ich aus gelernt dieser Antwort . Es "erweitert" die aktuell eingegebene Befehlszeile, dh es führt (unter anderem) eine Alias-Erweiterung durch.
Was bedeutet das? Es verwandelt jeden Alias, der aktuell in der Befehlszeile geschrieben ist, in das, wofür der Alias steht.
Zum Beispiel, wenn ich tippe:
und dann Ctrl+ Alt+ drücken E, wird es in gedreht
quelle
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R
stattsqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
Genau genommen verwendet die richtige Antwort das Array BASH_ALIASES, z.
quelle
ls
Alias stapeln, ohne zu ändern, was da ist. Also gehe ichalias ls="${BASH_ALIASES[ls]} --time-style=iso"
für meinen Fall.Sie könnten den
which
Befehl verwenden.Wenn Sie einen Alias für
ls
as festlegenls -al
und dann Folgendeswhich ls
eingeben, wird Folgendes angezeigt:ls: aliased to ls -al
.quelle
which
Befehl.which
Es ist eine schlechte Möglichkeit, Aliase zu suchen, wie hier erklärt: unix.stackexchange.com/questions/10525/… Es funktioniert nicht einmal für Aliase in Bash auf Ubuntu.