Como faço para adicionar um diretório ao $PATH
Ubuntu e tornar as alterações permanentes?
environment-variables
justingrif
fonte
fonte
Respostas:
Usando ~ / .profile para definir $ PATH
Um caminho definido
.bash_profile
somente será definido em um shell de login do bash (bash -l
). Se você colocar o seu caminho,.profile
ele estará disponível para toda a sessão da área de trabalho. Isso significa que até a metacidade o usará.Por exemplo
~/.profile
:Aliás, você pode verificar a variável PATH de um processo observando seu ambiente em
/proc/[pid]/environ
(substitua [pid] pelo número deps axf
). Por exemplo, usegrep -z "^PATH" /proc/[pid]/environ
Nota:
bash
como um shell de logon não analisa.profile
se existe.bash_profile
ou.bash_login
existe. Deman bash
:Consulte as respostas abaixo para obter informações sobre
.pam_environment
, ou.bashrc
sobre shells interativos sem logon, ou defina o valor globalmente para todos os usuários, colocando um script/etc/profile.d/
ou sendo usado/etc/X11/Xsession.d/
para afetar a sessão dos gerenciadores de exibição.fonte
PATH="$HOME/bin:$PATH"
Então, adiciono-o?Edite
.bashrc
no seu diretório pessoal e adicione a seguinte linha:Você precisará obter seu
.bashrc
logout / logon (ou reiniciar o terminal) para que as alterações entrem em vigor. Para obter sua fonte.bashrc
, basta digitarfonte
.bashrc
"? Como você "reinicia o terminal"?.bashrc
não é o lugar certo para definir variáveis de ambiente. Eles devem entrar.profile
ou.pam_environment
. Veja mywiki.wooledge.org/DotFiles. .bashrc
não.bashrc
:) ousource .bashrc
para que o assuntoO local recomendado para definir variáveis de ambiente permanentes em todo o sistema que se aplicam a todos os usuários está em:
(onde
PATH
é definido o padrão )Isso funcionará em desktop ou console, terminal gnome ou TTY, faça chuva ou faça sol;)
Para editar, pressione Alt+ F2e digite:
(ou abra o arquivo usando
sudo
no seu editor de texto favorito)Para efetuar alterações, execute
. /etc/environment
. Como esse arquivo é apenas um script simples, ele será executado e atribuirá o novo caminho àPATH
variável de ambiente. Para verificar executar env e ver oPATH
valor na listagem.Palavras-chave:
fonte
source /etc/environment
para recarregar as mudançasEu acho que a maneira canônica no Ubuntu é:
crie um novo arquivo em
/etc/profile.d/
adiciona lá:
e dê permissão para executar
fonte
Para iniciantes completos (como eu sou) que estão mais à vontade com a GUI:
$HOME
pasta..profile
e clique em Abrir com o Editor de texto .PATH="$PATH:/my/path/foo"
..profile
).fonte
$PATH:
pouco que inclui a definição PATH existentePara 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-me à documentação acima, configurei minhas ferramentas de caminho do SDK do Android :
~/.pam_environment
arquivo no diretório inicial.PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.fonte
Coloque essa linha no seu
~/.bashrc
arquivo.Ele é adquirido sempre que você abre um terminal
EDIT : Com base nos comentários abaixo, para uma definição mais geral que se aplica a todos os shells (incluindo quando você bate Alt- F2em Unity), adicione a linha ao seu
~/.profile
arquivo. Provavelmente não deve fazer as duas coisas, pois o caminho será adicionado duas vezes ao seuPATH
ambiente se você abrir um terminal.fonte
$HOME/.profile
para configurações pessoais ou/etc/profile
para todos os usuários. Mas se for necessário apenas para o bash, suponho que ambos funcionem.~/.bashrc
, ele estará disponível apenas nos terminais que você abrir. Por exemplo, se você pressionar Alt + F2 e tentar executar um comando desse diretório, ele não o encontrará. Se você configurá-lo~/.profile
ou~/.pam_environment
, a sessão do gnome (ou o DE que você usar) o herdará. Anexar PATH~/.bashrc
também tem a desvantagem de que, se você abrir / executar o bash interativamente a partir de outro shell do bash interativo, ele será anexado várias vezes.~/.profile
é correto para caminhos pessoais; é aí que o Ubuntu adiciona o~/bin
diretório. E confesso que exagerei um pouco no número de maneiras - só um pouco.~/.profile
esse caso.Para definir todo o sistema, anexe a linha
export PATH=/path/you're/adding:$PATH
ao final de/etc/profile
.Para adicionar o diretório apenas para o usuário conectado, anexe a mesma linha a
~/.bash_profile
.fonte
Adicioná-lo ao .bashrc funcionará, mas acho que a maneira mais tradicional de configurar suas variáveis de caminho é no .bash_profile adicionando as seguintes linhas.
De acordo com este tópico , parece que o comportamento do Ubuntu é um pouco diferente do RedHat e dos clones.
fonte
.bashrc
, cole-o em seu.bashrc
lugar. Os terminais GUI no Ubuntu não são shell de login, portanto.bash_profile
não serão executados..bash_profile
. Se o bash não encontrar um.bash_profile
(quando você fizer logon interativamente), ele procurará.profile
e o utilizará. Por padrão, você terá um.profile
e.bashrc
no Ubuntu. E.profile
é o local correto para definir variáveis de ambiente se desconsiderarmos pam_env.No terminal,
cd
parathe_directory_you_want_to_add_in_the_path
Não foi ideia minha. Eu encontrei este caminho para exportar o caminho neste blog aqui .
fonte
adiciona lá
fonte
sudo nano /etc/profile.d/SCRIPT_NAME.sh
é mais fácil para iniciantes.gksu gedit /etc/profile.d/SCRIPT_NAME.sh
é ainda mais fácil.Sempre que "instalo" minha pasta de scripts BASH, sigo o padrão do teste para uma
$HOME/bin
pasta que está na maioria dos arquivos .profile nas versões recentes do Ubuntu. Eu defino um teste que se pareceFunciona quase 100% do tempo e me deixa livre para alterá-lo em um editor de texto da GUI com um rápido "Substituir tudo", caso eu decida mudar para
/scripts
algum lugar mais perto da minha$HOME
pasta. Eu não fiz isso em 6 instalações do Ubuntu, mas há "sempre amanhã". SBZT
fonte
A maneira recomendada de editar o seu
PATH
é do/etc/environment
arquivoExemplo de saída de
/etc/environment
:Por exemplo, para adicionar o novo caminho de
/home/username/mydir
Em seguida, reinicie o seu PC.
Mais informações podem ser encontradas aqui: EnvironmentVariables
fonte
Abra seu terminal, digite
gedit .profile
e insira o seguinte:Feche e abra o terminal, ele deve estar funcionando.
fonte
Coloque-o na sua
~/.bashrc
ou em qualquer outra camada que você use rc (ou acima~/.profile
) E~/.xsessionrc
para que também funcione no X (shell externo).fonte
Mesmo que os scripts do sistema não usem isso, em qualquer um dos casos em que se queira adicionar um caminho (por exemplo,
$HOME/bin
) à variável de ambiente PATH, deve-se usarpara anexar (em vez de
PATH="$PATH:$HOME/bin"
) epara anexar (em vez de
PATH="$HOME/bin:$PATH"
).Isso evita o cólon
$PATH
inicial / final espúrio quando está inicialmente vazio, o que pode ter efeitos indesejados.Consulte, por exemplo, https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
fonte
Para o Ubuntu, edite
~/.bashrc
e adicione a seguinte linha.. ~/.bash_profile
Em seguida, edite seu .bash_profile conforme necessário .....
fonte
.bash_profile
que você precisa". O que exatamente eu preciso fazer para o.bash_profile
?.profile
ou.bash_profile
deve fonte.bashrc
. Não o contrário.