Cenário
Eu tenho um projeto ProductivityScripts no GitHub e, quando instalo o Linux (Debian 9), adiciono esta pasta PATH
para facilitar o uso.
Ou seja, eu adiciono a seguinte linha a ~/.bashrc
:
export PATH="~/Dev/ProductivityScripts:$PATH"
Funciona. Agora posso executar scripts de dentro desta pasta pelo nome de qualquer lugar.
alec@my_host:~$ capsalt
SUCCESS!
No entanto, se eu digitar which capsalt
, não obtenho saída.
which
fazer a maioria das coisas funciona.
alec@my_host:~$ which git
/usr/bin/git
Pergunta
Também não deveria which
rastrear scripts disponíveis em locais adicionados ao PATH manualmente? Ou há outra razão pela qual isso não está funcionando?
Isso provavelmente ocorre devido a
~
não atuar como uma variável entre aspas duplas em combinação comwhich
não fazer sua própria expansão do til.Usar
em vez de.
HOME
é uma variável de ambiente e se expande normalmente entre aspas duplas. Observe também que comoPATH
já foi exportado, não precisa ser exportado novamente (através disso não dói).Mais informações sobre o til: Por que o til (~) não se expande entre aspas duplas?
Veja também Por que não usar "which"? O que usar então?