Linux PATH: O que é e como usar
Tags: linux, braziliandevs, tutorial, beginners
Published: 2023-09-19 11:31:39

## **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:

```bash
echo "Hello World"
```

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:

```bash
echo $PATH
```

A lista de caminhos será mostrada no seguinte formato:

```bash
/algum/caminho/qualquer:/outro/caminho/qualquer
```

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).

```bash
export PATH=$PATH:/algum/novo/caminho
```

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.

```bash
vim ~/.bash_profile
```

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.

```bash
source ~/.bash_profile
```

## **Adicionando um novo caminho ao PATH de forma global**

Seguindo a mesma lógica de variáveis de ambiente, vamos criar um [arquivo.sh](http://arquivo.sh/) em /etc/profile.d

```bash
touch /etc/profile.d/exemplo.sh
```

Com o arquivo criado, vamos editá-lo

```bash
vim /etc/profile.d/exemplo.sh
```

No final do arquivo, adicionamos

```bash
export PATH=$PATH:/algum/novo/caminho
```

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:

```bash
PATH=$(echo "$PATH" | sed -e 's|:um/caminho/errado$||')
```

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.