Como posso listar e editar todos os aliases definidos no Terminal?

93

Um amigo que possuía o meu Mac atual antes de mim criou muitos comandos de alias. Existe uma maneira de listar todos os aliases definidos e o comando que está associado a eles?

E, nesse caso, posso editá-los ou devo removê-los usando unalias e recriá-los?

MattStacey
fonte

Respostas:

105

Tudo que você precisa fazer é digitar aliasno prompt e qualquer alias ativo será listado.

Os aliases geralmente são carregados na inicialização do seu shell; portanto, procure no diretório inicial .bash_profileou .bashrcno diretório inicial.

unaliasfuncionará apenas para sua sessão atual. A menos que você encontre onde está definido e carregado, ele será carregado novamente quando você iniciar uma nova sessão do Terminal.

~/.bashrcé executado para os shells de login e não-login, ~/.bash_profileapenas é executado para os shells de login.

Veja shell de login versus shell de não login

Conforme comentário de Chris Page:

Você deve colocar a maioria das suas personalizações (incluindo aliases) ~/.bashrce ~/.bash_profileexecutá-las ~/.bashrc, para que se apliquem aos shells de login (~/.bash_profile)e não-login (~/.bashrc). Além disso, decida qual deles deve ser "primário" e, se o perfil for sua escolha, inclua o arquivo rc no final. Se o arquivo rc for primário, identifique-o no início do seu perfil

Estas linhas devem estar no arquivo ~/.bash_profile:

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

Isso incluirá ~/.bashrcshells de login e na ordem que você desejar, se um arquivo depender do outro, com base no que você está configurando.

Conorgriffin
fonte
1
Eu recomendo que você coloque a maioria de suas personalizações em ~ / .bashrc e execute ~ / .bash_profile ~ / .bashrc, para que elas se apliquem aos shells de login (~ / .bash_profile) e não-login (~ / .bashrc). por exemplo, coloque isso em ~ / .bash_profile:if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
Chris Page
9

Você deve dar uma olhada nestes arquivos:

/etc/profile
~/.profile
~/.bash_profile
~/.bashrc

São arquivos de inicialização plausíveis para o seu shell (que eu assumi ser o bash).

Cedric H.
fonte
".bashrc" é o nome correto do arquivo.
Chris Página
Você está certo, não sei por que escrevi assim.
Cedric H.
Eu teria acabado de editá-lo sem comentar, mas o StackExchange não me permitiu fazer uma edição de um caractere.
Chris Página
Também verificar no sistema de largura / etc / bashrc
EmmEff
Não esqueça todos os arquivos que são originados usando o source ou. (ponto) nesses arquivos.
precisa saber é o seguinte