Como modifico meu PATH para que as alterações estejam disponíveis em todas as sessões do Terminal

46

Eu quero adicionar um diretório para pesquisar meu caminho de pesquisa. Eu sei que tenho que modificar a variável de ambiente PATH . No entanto, quero que a alteração seja permanente, para que esteja sempre em vigor, para cada janela do Terminal (bash) que abro.

Há uma sobrecarga de informações confusas e possivelmente conflitantes no link

Estou usando o Ubuntu 10.04. Suponha que eu queira adicionar /usr/local/foo ao meu PATH . Qual arquivo ( .bashrc , .profile , .bash_login , etc ...) devo modificar e como deve ser a (s) nova (s) linha (s)?

    
por Joshua Flanagan 06.09.2010 / 18:56

6 respostas

56

O comando a seguir adiciona um caminho ao seu caminho atual:

export PATH=$PATH:/my/custom/path

Se você quiser que sua configuração execute este comando todas as vezes, existem vários lugares onde você pode colocá-lo. Quando você faz o login, os seguintes scripts serão executados nesta ordem:

/etc/profile      (which starts by loading everything in /etc/profile.d)
~/.profile        (which starts by loading ~/.bashrc if you are running bash)

Notas

  • ~/.profile só será carregado se ~/.bash_profile e ~/.bash_login NÃO EXISTIR. Caso contrário, pelo menos bash, irá carregá-los. É aconselhável usar .profile e não os scripts específicos do bash. Portanto, se nessas tentativas você criou .bash_login , , exclua-o agora.

  • ~/.bashrc é carregado apenas se você estiver executando uma sessão interativa. (algo com um prompt onde você pode realmente digitar algo).

  • ~/.bashrc é carregado de novo e de novo, toda vez que você abre um novo terminal . Então, uma nova aba no gnome-terminal, um novo terminal virtual, etc. Então, mesmo se você não fizer login novamente, .bashrc será carregado (e, portanto, redefinirá seu ambiente) toda vez que você abrir um novo shell.

  • Coisas como byobu devem realmente entrar em .profile , (caso contrário não funcionará; -)

  • Coisas como caminhos devem entrar em .profile se você quiser que elas funcionem fora das sessões interativas. (diga quando pressionar Alt + F2 no GNOME)

por Ralf 06.09.2010 / 20:25
13

Eu trabalhei modificando ~/.profile

Parece que adicionar ~ / bin ao meu caminho foi um mau exemplo, pois já existe código em ~ / .profile para fazer isso automaticamente, se o diretório existir.

Para adicionar o diretório usr / local / foo ao meu caminho para cada sessão, adiciono / edito a seguinte linha no final do meu .profile:

export PATH=$PATH:/usr/local/foo

No entanto, para fazer isso funcionar, eu precisei fazer o logout e logar de volta (simplesmente fechar a janela do Terminal e abrir um novo NÃO funcionou).

    
por Joshua Flanagan 06.09.2010 / 19:07
3

Para recarregar o .profile e obter efeitos de alterações sem efetuar logout / login, execute:

source ~/.profile
    
por Bruno Freitas 08.12.2015 / 11:43
3

Você pode adicionar o caminho para /etc/environment , mas esteja ciente de que nenhuma expansão de shell funcionará; a variável será definida para literalmente os caracteres que você inserir.

    
por sagarchalise 08.09.2010 / 14:28
0

Você pode modificar o arquivo .bashrc no diretório $HOME .

No final desse arquivo, adicione a linha:

export PATH="$HOME/directory_to_include_in_path/:$PATH"

Você também pode modificar o arquivo .profile , também no diretório $HOME , incluindo a seguinte linha:

PATH="$HOME/directory_to_include_in_path/:$PATH"

Isso funcionou para mim.

    
por Denner Vieira 03.06.2017 / 16:23
-3
Going through the basics, I will suggest the following steps:
1. It's recommended to set environment variables in /etc/environment
2. Open the file as superuser in an editor as it's a read only file e.g.     gedit:
gksu gedit /etc/environment
3. System will need password to open it in editable mode. Enter your superuser password and get file opened in a new gedit window. 
4. Add new line at the end of file with 
export PATH=$PATH:/usr/local/foo
5. Save and close the window. It will get command back to terminal.
6. Refresh the environment by running the following command: 
. /etc/environment
7. You may check by executing the following command:
 echo $PATH
    
por Mac 22.01.2016 / 21:00