Por que o sudo não consegue encontrar um comando depois de adicioná-lo ao PATH?

13

Eu quero adicionar algum comando ao PATH para que eu possa usá-los convenientemente, como:

export $PATH = "$PATH:/opt/storm/bin"

mas às vezes storm precisa de autoridade root, mas quando eu uso com sudo , o Ubuntu não consegue encontrar o comando.

sudo storm nimbus

como posso encontrar esses comandos quando uso sudo ?

    
por roger 20.04.2015 / 08:46

2 respostas

22

Você precisa adicionar o caminho ao caminho sudo .

Execute o comando sudo visudo

você verá uma linha como esta:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

Agora adicione o caminho do seu comando aqui e isso deve funcionar.

Por exemplo:

$ sudo storm
sudo: storm: command not found

Agora adicione o caminho como acima:

$ sudo visudo 

secure_path="......:/opt/storm/bin"

salve e saia.

agora sudo storm funcionará normalmente.

Observação Você também deve adicionar o caminho ao caminho padrão em /etc/profile .

    
por Maythux 20.04.2015 / 09:47
0

Acho que você criou o alias no nível do usuário. É por isso que os atalhos estão disponíveis somente no nível do usuário.

Você deve adicionar essa linha de comando do alias ao arquivo .bashrc na pasta / root e não em /home/user/.bashrc (este arquivo .bashrc pertence à conta de usuário não raiz).

Para que você possa usar o comando alias diretamente no shell quando estiver logado como root.

    
por Anonymous Platypus 20.04.2015 / 08:52