O which
comando retorna apenas executáveis: não sabe nada sobre aliases, pois é um programa externo e não há mecanismo para passar informações de alias para um processo filho.
Se você digitar o comando type -a cp
, verá todas as interpretações possíveis, em ordem de preferência. Isso inclui qualquer alias, já que type
é um bash
comando interno.
É importante perceber que um alias não será interpretado por um subprocesso, como um script ou um editor interativo que tenha uma opção para executar comandos do sistema.
Se você criar cp
uma função, sua versão será executada em scripts, embora não de outros programas:
cp() { /usr/local/bin/gcp "$@"; }
Se você deseja que você cp
trabalhe em qualquer lugar, adicione $HOME/bin
no início da sua PATH
lista e $HOME/bin/cp
aponte para ela:
ln -s /usr/local/bin/gcp $HOME/bin/cp
Isso cria um link simbólico, embora você possa torná-lo um link físico um pouco mais eficiente (omitir -s
), mas isso normalmente precisará de permissões de root ( sudo ln ...
). A criação de uma função e a adição à PATH
variável serão feitas em um dos bash
scripts de inicialização, com permissões de usuário.
PATH
envar.