Como faço para adicionar um diretório ao $PATH
no Ubuntu e tornar as mudanças permanentes?
Mear ~/.perfil para definir $PATH
Um caminho definido em .bash_profile
será definido apenas em um shell de login bash (bash -l
).Se você colocar seu caminho em .profile
ele estará disponível para sua sessão de desktop completa. Isso significa que até o metacity o usará.
Por exemplo ~/.profile
:
if [ -d "$HOME/bin" ] ; then PATH="$PATH:$HOME/bin"fi
Btw, você pode verificar a variável PATH de um processo observando seu ambiente em /proc/[pid]/environ
(substitua [pid] pelo número de ps axf
). E. g. utilização grep -z "^PATH" /proc/[pid]/environ
Notar:
bash
como um shell de login não analisa .profile
se qualquer um .bash_profile
ou .bash_login
existir. De man bash
:
ele procura ~/.bash_profile,~/.bash_login, e ~/.perfil, nessa ordem, e lê e executa comandos do primeiro que existe e é legível.
Veja o Respostas abaixo para informações sobre .pam_environment
, ou .bashrc
para shells interativos sem login ou defina o valor globalmente para todos os usuários, colocando um script em /etc/profile.d/
ou usar /etc/X11/Xsession.d/
para afetar a sessão display managers.
Editar .bashrc
em seu diretório inicial e adicione a seguinte linha:
export PATH="/path/to/dir:$PATH"
Você precisará obter o seu .bashrc
ou logout / login (ou reinicie o terminal) para que as alterações entrem em vigor. Para obter o seu .bashrc
, digitar
$ source ~/.bashrc
O lugar recomendado para definir permanente, sistema-largo as variáveis de ambiente que se aplicam a todos os usuários estão em:
/etc/environment
(que é onde o padrão PATH
é definido)
Isso funcionará em desktop ou console, gnome-terminal ou TTY, rain or shine;)
-
Para editar, abra o terminal e digite:
sudoedit /etc/environment
(ou abra o arquivo usando
sudo
em seu editor de texto favorito)
Para fazê-lo funcionar sem reiniciar, execute . /etc/environment
ou source /etc/environment
. Como este arquivo é apenas um script simples, ele será executado e atribuirá o novo caminho ao PATH
variavel. Para verificar executar env
e ver o PATH
valor na listagem.
Relacionado:
Eu acho que a maneira canônica no Ubuntu é:
-
criar um novo arquivo em
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
-
adicione lá:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
-
e dê permissão para executar
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
Para novatos completos (como eu sou) que estão mais confortáveis com GUI:
- Abra o seu
$HOME
pasta. - Ir Visualizar & rarr; Mostrar Arquivos Ocultos ou pressione Ctrl + H.
- Clique com o botão direito em
.profile
e clique em Abra Com O Editor De Texto. - Role até o final e adicione
PATH="$PATH:/my/path/foo"
. - Salvar.
- Saia e faça login novamente para aplicar alterações (deixe o Ubuntu realmente carregar
.profile
).
Para variáveis de ambiente persistentes disponíveis apenas para usuários específicos. Eu recomendo a documentação oficial do Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
Referindo-se à documentação acima, configurei meu Caminho do Android SDK-ferramentas por:
- criacao
~/.pam_environment
arquivo no diretório inicial. - cujo conteúdo é
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
. - o caminho de usuário personalizado adicional pode ser adicionado separando caminhos com ponto (:).
- isso requer re-login, o que significa que você precisa fazer logout e log-in de volta ao ambiente de desktop.
Coloque essa linha em seu ~/.bashrc
arquivo.
Ele é obtido sempre que você abre um terminal
EDITAR: Com base nos comentários abaixo, para uma configuração mais geral que se aplicará a todos os shells (incluindo quando você bater Alt-F2 em Unity), adicione a linha ao seu ~/.profile
arquivo. Provavelmente não deve fazer as duas coisas, pois o caminho será adicionado duas vezes ao seu PATH
ambiente se você abrir um terminal.