Categorias
Linux Tutoriais

Como ajustar o PATH no Linux

Como definir a variável PATH de sistema para incluir os seus próprios diretórios, na busca por programas.

Se você precisa definir um caminho para um diretório, no sistema ou dentro do seu próprio HOME, pode fazer isto ajustando a váriavel $PATH da shell
A variável é composta de uma lista de caminhos, separados por 2 pontos, que é consultada pela shell, para buscar arquivos de comandos ou importantes para o sistema.
linux user path
A palavra path, quer dizer ‘caminho’, em inglês. E é disso que a variável trata.
Existe a variável path padrão do sistema e a específica de cada usuário.
A primeira, é estabelecida pelo próprio sistema, durante a instalação do Bash ou pelo administrador.
A segunda pode ser definida livremente por qualquer usuário.
Para verificar o atual valor de seu PATH, use o comando echo:

echo $PATH

Como é possível observar (abaixo), o meu resultado mostra os valores padrão de um sistema recém instalado. Ainda não ajustei a variável para as minhas necessidades.

/usr/local/bin:/usr/bin:/bin:/usr/games

Dentro de um script, é possível usar a seguinte linha de comando:

printf "%s\n", $PATH

O resultado deve ser o mesmo obtido anteriormente.
Se você tem um diretório local, onde você guarda seus próprios scripts ou binários (como jogos, por exemplo), pode adicioná-lo PATH, para não precisar digitar o caminho completo, toda vez que for fazer uso de um deles.
Veja como acrescentar o caminho ‘/home/justincase/bin’ ao PATH de usuário:

# acrescentando o novo valor à variável $PATH:
PATH=$PATH:/home/justincase/bin/

# verificando a nova varável:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/home/justincase/bin/

Uma outra forma, que vai dar o mesmo resultado, é acrescentar a variável $HOME ao PATH.
Veja o seu conteúdo:

echo $HOME
/home/justincase

Basta acrescentar o diretório ‘/bin’ ao PATH. Veja:

PATH=$HOME/bin/:$PATH

Como tornar este ajuste permanente

A variável PATH vai ser reiniciada após um reboot do sistema.
Portanto, ela precisa receber seus valores novamente, quando você se reautenticar.
Para tornar o valor, que você quiser, permanente, faça o ajuste da variável dentro do arquivo ‘.profile’ ou ‘.bash_profile’ (você deve ter um dos dois).
No meu sistema (Debian 9), está presente o arquivo ‘.profile’. Este é seu conteúdo:

cat .profile 
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin directories
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"

A linha a ser ajustada é a última.
Abra o arquivo com o seu editor de textos favorito:

vi ~/.profile

Em seguida, ajuste a linha do PATH, para o que achar melhor. No meu caso, vai ficar assim:

export PATH="$HOME/bin:$HOME/.local/bin:$PATH"

Grave e feche o arquivo.
Os novos ajustes só terão efeito após se reautenticar no sistema.
Se quiser carregar os novos valores, sem fazer logout/login, entre o seguinte comando, no terminal:

source ~/.profile

ou, caso você tenha alterado o ‘.bash_profile’:

source ~/.bash_profile

E, antes de finalizarmos este tutorial, faça uma verificação:

echo $PATH

Referências

https://www.cyberciti.biz/faq/how-to-add-to-bash-path-permanently-on-linux/.

Por Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Uma resposta em “Como ajustar o PATH no Linux”

Boa tarde, Elias!
Estou estudando o linux e vendo uma aula na internet me deparei nas declarações de variáveis.
Minha pergunta é a seguinte, quando declaro uma variavael qualquer (ex.: elias=praciano) essa variavel é armazenada temporariamente em algum lugar, correto? Onde?

Obrigado!

Seu canal é fera!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.