Como posso editar o $ PATH no linux?


44

Estou usando o ubuntu 9.04, preciso adicionar uma pasta ao meu $ PATH. Eu sei ler o caminho:

echo $PATH

Quero poder editá-lo e adicionar outros 2 caminhos.

obrigado


2
Uma vez que você é capaz de d isso, você pode querer executar operações mais sofisticadas em PATH: stackoverflow.com/questions/273909/...
dmckee

Pertence a sites Unix ou Ubuntu.
Thomas Bratt

Respostas:


42

Para armazenar permanentemente seu caminho, você tem algumas opções.

Eu sugiro que você leia o wiki da comunidade Ubuntu sobre variáveis ​​de ambiente, mas a resposta curta é o melhor lugar ~/.profilepara sua configuração PATH por usuário ou /etc/profilepara configurações globais.

Faça algo como export PATH=$PATH:/your/new/path/here


8
É importante observar que há muitas ocasiões em que seu perfil não é executado (como quando um script é executado pelo cron). Se você precisar que um caminho específico seja definido no PATH, um script deverá definir esse caminho. Dito isto, os scripts nunca devem depender de nada em seus caminhos e devem sempre usar caminhos absolutos; qualquer outra coisa é uma questão de segurança.
Chas. Owens

14
PATH=$PATH:newPath1:newPAth2
export PATH

3
Eu acho que você pode fazer tudo isso em uma linha, se quiser. export PATH = $ PATH: newPath1: newPAth2

2
Depende do shell que você está usando. No Solaris (eu sei que a pergunta é sobre o Linux), um dos shells (não me lembro qual deles) exige que você exporte separadamente da definição do valor em um script. Então, acabei de adquirir o hábito de fazê-lo em duas linhas.
266 Glen

7

Você também pode colocar isso no ambiente global:

sudo emacs /etc/environment

Anexar às entradas já no seu caminho

PATH="/path/to/file:/other/paths"

Recarregar o ambiente

source /etc/environment

11
Editar o arquivo do ambiente era a única maneira de fazer com que o PATH mudasse e permanecesse alterado.

2

Já foi respondido sobre como fazer isso, mas eu gostaria de lhe dar uma pequena dica. Aqui está o que eu faço:

Eu tenho um diretório chamado .bash.dno meu $HOMEe dentro dele eu mantenho um conjunto de scripts de shell que fazem coisas para o meu ambiente (por exemplo, a instalação é feita corretamente, modifica o caminho, define meu prompt etc.). Eu mantenho isso sob controle de versão usando o git , o que facilita voltar para uma versão funcional do seu env, se você estragar alguma coisa. Para obter todas as modificações, eu simplesmente origino todos os arquivos nesse diretório no final do meu .bashrc assim:

for i in $HOME/.bash.d/*; do source $i; done
unset i

Isso fornece um ambiente muito flexível que você pode modificar e restaurar facilmente + você pode exportá-lo para outras máquinas apenas usando o git.


1

Uma variante acima, se você não quiser alterar o arquivo / etc / profile diretamente. Você pode criar um novo arquivo yourpath.sh no diretório /etc/profile.d/ . Em seguida, edite esse arquivo assim. Com o editor vim (mas fique à vontade para editá-lo com outro editor): vim /etc/profile.d/yourpath.sh

MYPATH='/your/new/path/'
export MYPATH
export PATH=$PATH:$MYPATH

: w rite e q uit e está feito, seu caminho foi modificado. Se você estiver usando o terminal, feche-o e abra-o novamente. sua nova variável será atualizada. Agora é mais limpo, você pode remover esse arquivo quando não precisar mais dele e não interferir na configuração inicial.


(1) Desde que PATHseja exportado, MYPATHnão precisa ser (a menos que você precise para outros fins). (2) A maneira rápida de salvar (gravar) e sair do vim é ZZ- não :ou (Enter) necessário.
Scott

0

eco PATH = $ PATH: caminho1: caminho2> tmp

Edite o arquivo tmp com seu editor de texto favorito para que o valor de PATH seja exatamente o que você deseja

. ./tmp

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.