Como ver o comando anexado a um alias bash?

249

Suponha que eu tenha um alias no bash shell. Existe um comando simples para imprimir qual comando o alias será executado?

    
por Casebash 07.02.2012 / 04:24

5 respostas

327

O type construído é útil para isso. Ele não apenas informará sobre aliases, mas também funções, builtins, palavras-chave e comandos externos.

$ 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 "$@"
    }
}
    
por geirha 12.02.2012 / 10:52
121

Basta digitar alias no prompt do Shell. Ele deve exibir uma lista de todos os alias ativos no momento.

Ou, você pode digitar alias [command] para ver o que um alias específico tem como alias, por exemplo, se quiser saber com que alias ls foi aliased, você pode fazer alias ls .

    
por Thomas Ward 07.02.2012 / 04:30
51

Eu gosto muito de Ctrl + Alt + E como aprendi em esta resposta . Ele "expande" a linha de comando digitada atualmente, o que significa que ela executa expansão de alias (entre outras coisas).

O que isso significa? Isso transforma qualquer alias, que possa estar atualmente escrito na linha de comando, no significado do alias.

Por exemplo, se eu digitar:

$ ls

e depois pressionar Ctrl + Alt + E , é transformado em

$ ls --time-style=locale --color=auto
    
por Oliver Salzburg 13.02.2012 / 18:52
5

A resposta correta está usando a matriz BASH_ALIASES, por exemplo:

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

Você pode usar o comando which .

Se você definir um alias para ls como ls -al e, em seguida, digitar which ls , verá:

ls: aliased to ls -al .

    
por user312471 05.08.2014 / 09:36