O $ PATH adicionado ao .bash_profile não está funcionando após a reinicialização

4

Eu sou novo no Ubuntu!
E estou tentando configurar manualmente o Maven adicionando o diretório Maven em $PATH . Eu criei o arquivo .bash_profile no meu diretório home . O arquivo contém isto:

export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH

E então, em um terminal, eu corro

source .bash_profile

Tudo funciona bem e posso ver a versão depois de executar mvn -version . Mas, após a reinicialização do laptop, a execução de mvn obtém o seguinte erro:

The program 'mvn' can be found in the following packages:
 * maven
 * maven2
Try: sudo apt-get install <selected package>

Você pode me dizer o que eu estou perdendo por favor? Qualquer ajuda seria apropriada!

Editar 1
A saída de echo $PATH é:

tuandang@Inspiron-N4030:~$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
    
por Tuan Dang 08.06.2015 / 15:11

3 respostas

5

Primeiro Por favor, note que adicionar envs ao .bash_profile não é temporário, como indicado em outra resposta, mas o seu problema é adicionar em local não adequado, pois .bash_profile é chamado quando você faz o login pelo console pense no seu caso. Por favor, leia o resto e encontre a sua solução:

Citado no link :

  

Quando você faz login (digite nome de usuário e senha) via console,   sentado na máquina, ou remotamente via ssh: .bash_profile é executado   para configurar seu shell antes do prompt de comando inicial.

     

Mas, se   você já fez login em sua máquina e abriu uma nova janela de terminal   (xterm) dentro do Gnome ou do KDE, então .bashrc é executado antes do   prompt de comando da janela. .bashrc também é executado quando você inicia uma nova ação   Por exemplo, digitando / bin / bash em um terminal.

Então, como eu suponho que você fez login e use o terminal de dentro, você deve usar o .bashrc. execute este comando:

echo 'export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH' >>~/.bashrc

Em seguida, digite:

source .bashrc

Para mais informações, leia este

Se você quiser que suas variáveis sejam usadas em .bash_profile, você também pode fazer esse truque. Adicione todas as suas variáveis em .bashrc e, em seguida, utilize-as em .bash_profile . Adicione isto ao seu bash_profile :

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

Agora, quando você faz login no seu sistema sempre que ele é de um console ou GUI, você obtém seu ambiente.

    
por Maythux 08.06.2015 / 17:58
2

Você pode adicionar seu PATH a ~ / .profile

~. / bash_profile não afeta os emuladores de terminal, como o gnome-terminal, que são iniciados após o login no sistema.

Como opção, você pode configurar o PATH em / etc / environment globalmente.

    
por Pilot6 08.06.2015 / 15:13
1

O Maythux está correto, a variável foi declarada local, mas para que ela seja vista como uma variável global pelo sistema, ela teria que ser exportada.

if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

Também funciona no .bash_profile para obter o $ HOME / .bashrc

    
por oOpSgEo 08.06.2015 / 23:00