Uma resposta com uma perspectiva diferente pode ajudar na melhor compreensão do ambiente * nix.
Todos os comandos / utilitários que você conhece no * nux estão presentes em alguns ou em outros diretórios que você pode encontrar usando o comando whereis
ou which
Exemplo
$ which ls
/bin/ls
$ which sort
/usr/bin/sort
Então, como eles são localizados e você tenta executar o comando?
A resposta é a variável PATH
. Se você fizer um echo $PATH
, verá uma lista de diretórios separada por :
.
Saída de amostra para $ PATH
/home/mtk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.9.1/bin/:/usr/local/ant/apache-ant-1.8.3/bin
Se você colocar seu próprio executável em um desses locais, poderá executá-lo como outros comandos do sistema. Ou, você pode adicionar seu próprio diretório definido a essa lista, anexando-o à variável PATH
e exportando-a, para que ela fique disponível para o shell completo, como
export PATH=$PATH:/home/mtk/myUtilities/bin
Você pode querer adicionar esta linha em particular ao arquivo .bashrc
, para que você não precise executar o comando acima toda vez que iniciar o shell.
Apenas por diversão
Ty alterando a variável PATH
, tornando-a vazia, você terminará com shell inútil, até que você reconfigure o PATH
corretamente novamente.
$ export PATH=""
$ ls
bash: ls: No such file or directory
$ which pwd
bash: which: No such file or directory