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.
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/.
One reply on “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!