Por que se incomodar em vinculá-lo? Você pode simplesmente adicionar /opt/Eclipse
ao seu PATH
. No seu ~/.bashrc
:
PATH="/opt/Eclipse:$PATH"
e depois
source ~/.bashrc
então você deve ser capaz de rodar
eclipse
Eu tenho executável: /opt/Eclipse/eclipse
. Eu gostaria de executá-lo a partir de qualquer caminho do console de terminal. Por esse motivo eu crio link simbólico:
ln -s /opt/Eclipse/eclipse /usr/bin/eclipse
Mas isso não ajudou a executar o eclipse apenas compre digitando ./eclipse de qualquer local na janela do terminal. O sistema não encontra executável. Eu estava esperando que o sistema encontre eclipse
link em /usr/bin
. Onde está o erro no meu pensamento?
Por que se incomodar em vinculá-lo? Você pode simplesmente adicionar /opt/Eclipse
ao seu PATH
. No seu ~/.bashrc
:
PATH="/opt/Eclipse:$PATH"
e depois
source ~/.bashrc
então você deve ser capaz de rodar
eclipse
Em vez de criar um link simbólico, basta adicionar um alias no arquivo .bashrc
... Para fazer isso, você pode começar adicionando alias eclipse='/file/pathway/to/executable'
ao final do arquivo .bashrc
. Então você pode testar isso executando source .bashrc
e eclipse
...
Isso, na verdade, pode ser um pouco surpreendente à primeira vista. bash
(e outras shells também) mantém um hash para rapidamente encontrar binários no $PATH
quando um usuário emite um comando. A alternativa seria varrer todos os diretórios todas as vezes que um comando for emitido para descobrir qual é o significado. E isso é caro.
Em determinadas circunstâncias, o hash não é atualizado corretamente. Leia aqui e aqui (seção hash
) para os detalhes exatos.
Você parece ter visto um caso tão raro quando o conteúdo real do diretório e os valores desse hash estão fora de sincronia. Um simples
hash -r
informa ao bash
para reconstruir seu hash. Isso só precisa ser feito uma vez se você quiser manter sua janela de terminal atual aberta. Se você, em vez disso, fechar e reabrir a janela do terminal, isso não é necessário.