Qual é a variável PATH do Unix e como eu adiciono a ela?

10

Muitos tutoriais de programação pedem aos usuários para adicionar algo ao seu PATH , mas não explicam o que é. Os recursos existentes que explicam o PATH para usuários novos na linha de comando não são muito bons.

  • Qual é a variável PATH do Unix?

  • Acabei de fazer o download de um programa, depois tentei executar um comando no terminal e obtive command not found . O que isso tem a ver com o PATH ?

  • Eu adicionei algo ao PATH com este comando e as coisas funcionaram:

    export PATH=/path/to/some/bin:$PATH
    

    ... mas depois recebi command not found da próxima vez que iniciei o meu computador. Como posso fazer com que ele fique no PATH toda vez que eu abro o Terminal?

  • Qual é a melhor maneira de determinar se um programa como o Git ou o gcc já está carregado no meu computador?

por Kevin Burke 11.12.2012 / 09:00

3 respostas

16

O caminho do UNIX é uma variável de ambiente, que é uma lista de diretórios nos quais procurar programas que você está tentando executar. Ele permite que você evite ter que usar o nome do caminho completo para executar coisas como /bin/ls (por exemplo, colocando /bin no caminho).

Por exemplo, um caminho pode consistir em:

/bin:/usr/bin:/usr/sbin

e isso significa que, quando você digitar o comando xyzzy , ele tentará executar o primeiro arquivo encontrado na lista atual:

/bin/xyzzy
/usr/bin/xyzzy
/usr/sbin/xyzzy

( pode pular arquivos não-executáveis se for inteligente)

Você pode adicionar coisas ao caminho com um comando como:

set PATH=/directory/to/add:$PATH:/low/priority/path

que coloca /directory/to/add no início da lista de pesquisa de caminho e /low/priority/path no final.

No entanto, isso geralmente muda apenas para o shell atual . Se você quiser fazer uma alteração em cada shell, adicione essa linha a um de seus arquivos de inicialização, como $HOME/.profile ou /etc/profile . O arquivo correto a ser usado depende do seu próprio shell e de como você configurou os arquivos de inicialização. Nem sempre é fácil saber para onde deve ir, mas as regras geralmente são explicadas na manpage para qualquer shell que você esteja usando.

Você pode geralmente encontrar um comando no caminho com um dos seguintes:

which cmd
whence cmd

para localizar o executável cmd . Por exemplo, no meu sistema Debian, eu recebo a seguinte transcrição:

pax> which ls
/bin/ls

pax> which firefox
/usr/bin/firefox

pax> which xyzzy

pax> 
    
por 11.12.2012 / 09:03
5

O que é?

A variável de ambiente PATH é uma lista de diretórios delimitada por dois pontos que o seu shell pesquisa quando você insere um comando.

Como definir isso?

PATH=$PATH:/your/directory
export PATH

Como posso fazer com que fique no PATH toda vez que eu abro o Terminal?

Coloque as duas linhas anteriores dentro de ~/.bash_profile (se você estiver usando bash para o Terminal).

    
por 11.12.2012 / 09:03
3

PATH é uma variável de ambiente para sistemas semelhantes a unix.

definir caminho:

export PATH=$PATH:<your path>

caminho não definido:

unset $PATH

definir caminho permanentemente

na sua pasta pessoal, ative Visualizar - > Mostrar arquivos ocultos.... pen arquivo .bash_profile, antes de exportar a linha PATH, adicione esta linha .....

PATH=$PATH:<yourpath>

faça logout e faça o login novamente ...... verifique se está funcionando ... bem! deve funcionar .....

    
por 11.12.2012 / 09:12