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

257

Angenommen, ich habe einen Alias ​​in der Bash-Shell. Gibt es einen einfachen Befehl zum Ausdrucken, welchen Befehl der Alias ​​ausführt?

    
Casebash 07.02.2012, 04:24

5 Antworten

341

Das eingebaute type ist dafür nützlich. Es wird nicht nur über Aliase, sondern auch über Funktionen, Builtins, Schlüsselwörter und externe Befehle informiert.

$ 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;
        echo "$REPLY";
        grep --color=auto "[email protected]"
    }
}
    
geirha 12.02.2012, 10:52
125

Geben Sie an der Shell-Eingabeaufforderung alias ein. Es sollte eine Liste aller aktuell aktiven Aliase ausgeben.

Oder Sie können alias [command] eingeben, um zu sehen, wofür ein bestimmter Alias ​​verwendet wird. Wenn Sie zum Beispiel herausfinden möchten, was für den Alias% ls Alias ​​war, können Sie alias ls verwenden.

    
Thomas Ward 07.02.2012 04:30
51

Ich mag Ctrl + Alt + E wie ich von diese Antwort . Es "erweitert" die aktuell eingegebene Befehlszeile, dh es führt (unter anderem) eine Alias-Erweiterung durch.

Was heißt das? Es verwandelt jeden Alias, der momentan in der Befehlszeile steht, in das, wofür der Alias ​​steht.

Zum Beispiel, wenn ich folgendes eintippe:

$ ls

und drücken Sie dann Strg + Alt + E , es wird in

umgewandelt
$ ls --time-style=locale --color=auto
    
Der Hochstapler 13.02.2012 18:52
5

Streng genommen korrekte Antwort verwendet BASH_ALIASES-Array, z. B .:

$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
    
noonex 13.01.2017 13:12
1

Sie könnten den Befehl which verwenden.

Wenn Sie einen Alias ​​für ls als ls -al setzen und dann which ls eingeben, sehen Sie:

ls: aliased to ls -al .

    
user312471 05.08.2014 09:36

Tags und Links