Parece que você terá que adicionar cada diretório que contém um executável separadamente ou vincular todos os executáveis ao mesmo diretório.
-
Adicione todos os diretórios manualmente.
Primeiro, colete a lista de diretórios relevantes (suponho que você esteja executando o Linux ou, em qualquer caso, que você tenha ferramentas GNU):
find /home/cs/Id -type f -executable -exec dirname {} + | sort -u
Os itens acima encontrarão todos os arquivos executáveis em
/home/cs/Id
e imprimirão o nome do diretório que os contém. Osort -u
garante que cada diretório seja impresso apenas uma vez. Eu criei alguns diretórios de teste, então no meu sistema eu recebo:$ find /home/terdon/Idl/ -type f -executable -exec dirname {} + | sort -u /home/terdon/Idl/foo/bar/bag/ho /home/terdon/Idl/foo/bar/bag/ho/fa/fe/re /home/terdon/Idl/foo/bar/baz/foo/bar /home/terdon/Idl/foo/bar/baz/foo/bar/baz/foo/bar/baz
Agora, você deseja que eles sejam colocados no formato correto para adicionar a
$PATH
:$ find /home/terdon/Idl/ -type f -executable -exec dirname {} + | sort -u | tr '\n' ':' /home/terdon/Idl/foo/bar/bag/ho:/home/terdon/Idl/foo/bar/bag/ho/fa/fe/re:/home/terdon/Idl/foo/bar/baz/foo/bar:/home/terdon/Idl/foo/bar/baz/foo/bar/baz/foo/bar/baz:
Copie isso (excluindo o% final
:
) e adicione-o ao seuPATH
:PATH="$PATH:/home/terdon/Idl/foo/bar/bag/ho:/home/terdon/Idl/foo/bar/bag/ho/fa/fe/re:/home/terdon/Idl/foo/bar/baz/foo/bar:/home/terdon/Idl/foo/bar/baz/foo/bar/baz/foo/bar/baz"
-
Encontre todos os arquivos executáveis e crie links simbólicos para um diretório já em seu PATH .
find /home/terdon/Idl/ -type f -executable -exec ln -s {} ~/bin \;
Em alguns sistemas Linux (Ubuntu, por exemplo), o diretório
~/bin
é automaticamente adicionado ao seuPATH
, se existir. Se isso não acontecer no seu sistema, adicione você mesmo:PATH="$PATH:/home/cs/bin"