DEV Community

Lucas Nobre Barbosa
Lucas Nobre Barbosa

Posted on

Linux PATH: O que é e como usar

Introdução

No nosso último artigo nós exploramos de forma bem geral as variáveis de ambiente Linux. Descobrimos como criar variáveis de ambiente temporárias, persistentes para um usuário e variáveis globais. No meio desse processo, citei uma variável de ambiente muito importante e que deve ser conhecida de muitos de vocês, a variável PATH.

A Variável de Ambiente PATH

PATH é uma variável de ambiente que guarda um conjunto ordenado de caminhos (ou paths) onde o Linux vai procurar por executáveis, ou seja, ao executar um comando, não precisamos passar para o terminal um caminho absoluto e somente o nome do comando.

Um exemplo disso seria o comando echo do Linux. Vamos escrever um “Hello World” no BASH:

echo "Hello World"
Enter fullscreen mode Exit fullscreen mode

Esse comando simplesmente mostra na tela o que está entre parênteses. Nós só podemos usá-lo diretamente, assim, porque o caminho para ele está no PATH, mais precisamente, ele está em /usr/bin/. Dessa forma, não precisamos escrever /usr/bin/echo “Hello World” por mais que dessa forma também funcione.

O que está no PATH?

Para saber o que está no seu PATH, basta usar o comando echo dessa forma:

echo $PATH
Enter fullscreen mode Exit fullscreen mode

A lista de caminhos será mostrada no seguinte formato:

/algum/caminho/qualquer:/outro/caminho/qualquer
Enter fullscreen mode Exit fullscreen mode

O caractere “:” simboliza o fim de um caminho e o início de outro. Procure o caminho /usr/bin onde está o nosso comando echo.

Como adicionar um novo caminho ao PATH?

Para adicionar um novo caminho ao PATH, como /algum/novo/caminho, usaremos o comando export como mostrado a seguir (checar tutorial sobre variáveis de ambiente para mais detalhes sobre esse comando).

export PATH=$PATH:/algum/novo/caminho
Enter fullscreen mode Exit fullscreen mode

Da mesma forma que vimos no artigo sobre variáveis de ambiente, o que estamos fazendo é dar um novo valor à variável de ambiente PATH. Esse novo valor nada mais é que seu antigo valor ($PATH) com o seu novo caminho anexado ao final, após o separador “:”.

Não esqueça de depois escrever o comando “echo $PATH” para ver se o seu caminho foi adicionado corretamente ao final do PATH.

Adicionando um novo caminho ao PATH de forma persistente entre sessões de um mesmo usuário

Caso você tenha lido o artigo sobre variáveis de ambiente, você vai lembrar que só usar o export no terminal vai criar ou alterar o valor de uma variável de ambiente de forma efêmera, ou seja, quando você reiniciar a sessão aquela variável vai ter sumido. Para adicionar nosso novo caminho de forma permanente para um usuário, vamos adicionar o export no final do arquivo ~/.bash_profile. Primeiro abra ele no seu editor de texto, no meu caso será o vim.

vim ~/.bash_profile
Enter fullscreen mode Exit fullscreen mode

Depois, adicione o comando export da forma que fizemos anteriormente em algum lugar do arquivo, preferencialmente no final. Após isso, só salve o arquivo e para ativá-lo na sessão atual use o comando a seguir no terminal.

source ~/.bash_profile
Enter fullscreen mode Exit fullscreen mode

Adicionando um novo caminho ao PATH de forma global

Seguindo a mesma lógica de variáveis de ambiente, vamos criar um arquivo.sh em /etc/profile.d

touch /etc/profile.d/exemplo.sh
Enter fullscreen mode Exit fullscreen mode

Com o arquivo criado, vamos editá-lo

vim /etc/profile.d/exemplo.sh
Enter fullscreen mode Exit fullscreen mode

No final do arquivo, adicionamos

export PATH=$PATH:/algum/novo/caminho
Enter fullscreen mode Exit fullscreen mode

E pronto, temos o que queríamos. Um novo caminho que vai funcionar para todos os usuários da máquina.

Removendo um caminho do PATH

Tenha muito cuidado ao fazer isso, mas se você tem certeza que deseja remover, digamos, um/caminho/errado que esteja no final do seu PATH, você pode escrever o seguinte comando no terminal:

PATH=$(echo "$PATH" | sed -e 's|:um/caminho/errado$||')
Enter fullscreen mode Exit fullscreen mode

Novamente, considere que essa alternativa só funciona caso o caminho esteja no final do PATH. Caso não, uma abordagem menos elegante é:

  1. printe o seu PATH na tela usando echo $PATH;
  2. copie e cole o conteúdo printado em algum arquivo em um local seguro
  3. apague o caminho que você deseja remover no arquivo
  4. copie o novo PATH e substitua no seu PATH colando o conteúdo após “PATH=”

Obs: Os passos 1 e 2 podem ser feitos mais facilmente com o comando echo $PATH > caminhos.txt, no terminal.

Conclusão

Nesse artigo aprendemos o que é a variável de ambiente PATH, qual é a sua utilidade e como configurar ela para atender nossas necessidades. Algumas etapas de explicação foram puladas, pois espera-se que você tenha conhecimento de variáveis de ambiente, mas caso não o tenha, você pode checar meu artigo sobre esse assunto nessa mesma plataforma. Obrigado pela leitura.

Top comments (0)