O que significa $ PATH?

28

Estou tentando instalar alguma coisa e entre as etapas, houve uma:

"Coloque no seu $PATH"

O que isto significa? O que é isso?

Eu pesquisei neste site e no Google, mas todo mundo simplesmente aceita isso!

Adão
fonte
2
possível duplicata de Como adicionar um diretório ao meu caminho?
20914 muru
2
@ muru Não, eu li essa pergunta e ela não tem nada em comum com a minha. Além disso, esta questão não foi de todo útil.
Adam
4
@uru Eu acho que a pergunta não é sobre como adicionar (ou eu posso estar entendendo mal o que se entende por "Coloque no seu $ PATH").
Jacob Vlijm
1
@JacobVlijm você está certo, não é.
Adam
2
Entendo. Bem. Relacionado; askubuntu.com/q/141718/158442
Muru

Respostas:

24

Execute em um terminal:

echo $PATH

ou

printf "%s\n" "$PATH"

o que você vê é uma lista de diretórios, com a seguinte aparência:

/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Se você colocar um executável em um desses diretórios, não precisará definir o caminho para o executável / script, mas poderá executá-lo pelo nome como um comando.

Os executáveis ​​em $PATHnão devem ter uma extensão de idioma por convenção (embora funcionem)

Editando sua variável $ PATH

Você pode (permanentemente) adicionar um diretório ao $PATHadicionar a seguinte linha ao seu ~/.profilearquivo (invisível por padrão, pressione Ctrl+ Hno gerenciador de arquivos para torná-lo visível):

export PATH=$PATH:/path/to/dir

Informações mais úteis sobre variáveis ​​de ambiente

(como $PATH) pode ser encontrado aqui (obrigado pelas sugestões @Letizia)

Jacob Vlijm
fonte
podemos sugerir como alterá-lo em .bashrc PATH = $ PATH: / path / you / want ou em .profile, o que você acha?
Lety
e este é um link útil para iniciantes
Lety 20/11
@ Letizia Eu preferiria o primeiro. Você removeu sua resposta? nós estávamos praticamente ao mesmo tempo. que poderíamos ter feito uma combinação bem distribuídos :)
Jacob Vlijm
Sim, eu já fiz, minha resposta foi removida e achei melhor contribuir para a sua. O que você acha do meu comentário?
Lety
@Letizia comment = perfeito, vou editar. Obrigado!
Jacob Vlijm
6

$PATHé uma variável de ambiente relacionada ao local do arquivo .

Quando alguém digita um comando para executar, o sistema o procura nos diretórios especificados PATHna ordem especificada.

Você pode visualizar os diretórios especificados digitando echo $PATHno terminal.

Suponha que haja um arquivo executável foobar01.shpresente no /home/user/foo1/foo2/foobar01.shqual você deseja executar regularmente. digitar o "caminho" inteiro consumiria muito tempo. Portanto, adicionamos o diretório à $PATHvariável e podemos executar foobar.shdiretamente, sem especificar o caminho.

Você pode adicioná-lo $PATHdigitando o seguinte comando

export PATH=$PATH:/home/user/foo1/foo2

astrob0t
fonte
2

Suponho que você tenha um plano de fundo do Windows (desculpas se não for verdade). Nos termos do leigo, um caminho (ou o caminho de pesquisa) é a lista de diretórios que serão pesquisados ​​por qualquer coisa que você digitar na linha de comando. Se você digitar um comando interno como ls, ele procurará uma lista especificada de diretórios. Você pode procurar seu caminho digitando echo $ PATH. Aqui está uma diferença entre o Windows e o * nix: Por padrão, o Windows sempre procura o arquivo executável no diretório atual. Por exemplo, se você tiver um arquivo chamado uptime.bat em c: \ myscripts, e cdá-lo c: \ myscripts e digitar o tempo de atividade, ele será executado. No entanto, no * nix, o caminho será consultado e o executável encontrado (se disponível).

Se você mantiver seus scripts em um diretório chamado / home / teresa / scripts, para executá-los, será necessário especificar o caminho completo para esse diretório. Exemplo: / hone / teresa / checkHost. Uma variação seria cd / home / teresa e digite ./checkHost (observe ./, o que significa que você está pedindo explicitamente que o arquivo seja executado a partir do diretório atual.

Para evitar isso, basta digitar

exportar PATH = $ PATH: / home / teresa / scripts

o que significa que, além do caminho que já existe agora, procure também em / hone / teresa / scripts. No entanto, o problema é que, uma vez que você efetue logout, essa configuração desaparecerá. Portanto, você deve editar o arquivo oculto ~ / .bashrc, encontrar a linha PATH lá e anexá-la de acordo. Estou assumindo que você usa o bash. No caso de outros shells, a sintaxe e o arquivo são diferentes.

Como um novo usuário, é muito tentador ter. no caminho de pesquisa, o que basicamente significa que também pesquisamos no diretório atual. No entanto, isso não é considerado uma boa prática por razões discutidas em outros lugares.

HTH

Hopping Bunny
fonte