it-swarm.com.de

Wie wird der Befehl angezeigt, der an einen Bash-Alias ​​angehängt ist?

Angenommen, ich habe einen Alias ​​in der Bash-Shell. Gibt es einen einfachen Befehl zum Ausdrucken des Befehls, den der Alias ​​ausführen soll?

319
Casebash

Das eingebaute type ist dafür nützlich. Hier erfahren Sie nicht nur mehr über Aliase, sondern auch über Funktionen, integrierte Funktionen, 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 "[email protected]"
    }
}

type -a cmd zeigt alle Befehle mit diesem Namen in der Rangfolge an, was für den obigen ls -Alias ​​nützlich ist, bei dem der Alias ​​selbst ls aufruft.

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

Wenn Sie ls ausführen, wird /bin/ls verwendet, und --color=auto wird zusätzlich zu den von Ihnen selbst hinzugefügten Argumenten in die Liste der Argumente aufgenommen.

425
geirha

Geben Sie an der Shell-Eingabeaufforderung einfach alias ein. Es sollte eine Liste aller derzeit aktiven Aliase ausgegeben werden.

Oder Sie können alias [command] eingeben, um zu sehen, zu welchem ​​Alias ​​ein Alias ​​gehört. Wenn Sie beispielsweise herausfinden möchten, zu welchem ​​Alias ​​der ls gehört, können Sie alias ls ausführen. .

158
Thomas Ward

Ich mag wirklich Ctrl+Alt+E Wie ich aus dieser Antwort gelernt habe . 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:

$ ls

und dann drücken Ctrl+Alt+EEs wird in verwandelt

$ ls --time-style=locale --color=auto
53
Der Hochstapler

Genau genommen verwendet die richtige Antwort das BASH_ALIASES-Array, z.

$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
10
noonex

Sie können den Befehl which verwenden.

Wenn Sie einen Alias ​​für ls als ls -al festlegen und dann which ls eingeben, wird Folgendes angezeigt:

ls: aliased to ls -al.

2
user312471