Come visualizzare il comando allegato a un alias bash?

271

Supponiamo di avere un alias nella shell bash. C'è un semplice comando per stampare quale comando verrà eseguito l'alias?

    
posta Casebash 07.02.2012 - 04:24

5 risposte

359

Il% built-in% co_de è utile per questo. Non ti dirà solo di alias, ma anche funzioni, builtin, parole chiave e comandi esterni.

$ 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]"
    }
}
    
risposta data geirha 12.02.2012 - 10:52
132

Digitate alias mentre siete al prompt di Shell. Dovrebbe generare un elenco di tutti gli alias attualmente attivi.

Oppure puoi digitare alias [command] per vedere a cosa serve un alias specifico, ad esempio, se vuoi scoprire a che cosa è associato l'alias ls , potresti fare alias ls .

    
risposta data Thomas Ward 07.02.2012 - 04:30
51

Mi piace molto Ctrl + Alt + E come ho imparato da questa risposta . "Espande" la riga di comando attualmente digitata, il che significa che esegue l'espansione dell'alias (tra le altre cose).

Che cosa significa? Trasforma qualsiasi alias, che potrebbe essere attualmente scritto sulla riga di comando, in ciò che l'alias rappresenta.

Ad esempio, se digito:

$ ls

e quindi premi Ctrl + Alt + E , viene trasformato in

$ ls --time-style=locale --color=auto
    
risposta data Der Hochstapler 13.02.2012 - 18:52
6

La risposta corretta in senso stretto sta usando l'array BASH_ALIASES, ad esempio:

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

Potresti usare il comando which .

Se imposti un alias per ls come ls -al e poi scrivi which ls , vedrai:

ls: aliased to ls -al .

    
risposta data user312471 05.08.2014 - 09:36

Leggi altre domande sui tag