A variável PATH é sempre redefinida. Como consertar isso?


9

Descobri há pouco tempo que posso criar terminais de comando personalizados com a expansão da variável PATH. Infelizmente, é sempre reinicializado quando fecho o terminal e o abro novamente.

Você sabe como resolver esse problema?

Porque quando eu quero iniciar alguns scripts com comandos do terminal, não quero expandir a variável PATH todas as vezes antes ...


1
Coloque no seu .bashrc?
gniourf_gniourf

Como fazer isso? Eu sou novo no Linux;)
Jenne

2
abra seu .bashrcarquivo da seguinte maneira: gedit ~/.bashrce coloque o que quiser lá (na parte inferior do arquivo é melhor), por exemplo, PATH="~/my/cool/path/:$PATH"e exporte esta variável: após a linha que você acabou de inserir, coloque export PATHe salve o arquivo, feche o terminal e reabra e agora seus executáveis ~/my/cool/pathserão encontrados.
gniourf_gniourf

Eu escrevi-o como uma resposta completa para você ...:)
gniourf_gniourf

Respostas:


15

Eu entendo que você tem alguns executáveis ​​em uma das suas pastas pessoais, por exemplo, no ~/bine você deseja executá-los sem sempre digitar o caminho completo ~/bin/my_cool_executable.

Você já observou que entrar PATH=~/bin:$PATHno seu terminal fazia as coisas funcionarem ... mas apenas até você fechar o terminal. Quando você abre uma nova, sua PATHvariável anterior é redefinida para seu valor original. A propósito, acho que você sabe como, a qualquer momento, verificar o valor da PATHvariável: assim:

echo "$PATH"

Como tornar sua alteração permanente para que você PATHcontinue a mesma quando reabrir um novo terminal? É muito fácil, você só precisa editar seu .bashrcarquivo. Vamos usar o gediteditor: Em um terminal, digite este:

gedit ~/.bashrc

Isso abre o gediteditor. Role até o final do arquivo e adicione isto:

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

e salve o arquivo e saia gedit. Depois feche o seu terminal e abra um novo. Agora sua PATHvariável deve ter ~/binà sua frente, para que seus comandos ~/binsejam acessíveis sem digitar o caminho completo. E você sabe como verificar que: echo "$PATH".

Aproveitar!

Atenção . É considerado uma má prática e uma vulnerabilidade de segurança para colocar .em sua PATHvariável.


Então, isso foi muito bom, mas agora não consigo iniciar os programas quando sou root. Você sabe por que e como consertar isso? :)
Jenne

Nesse caso, uma opção é colocar seus programas em /usr/local/binvez de mexer com a PATHvariável ... ou /usr/local/sbinse eles devem ser acessados ​​apenas pela raiz.
gniourf_gniourf

Alguns precisam ser executados como root e outros não. Portanto, seria bom, se não importasse e eles pudessem estar em um diretório personalizado. Então, é capaz de fazer isso? :) #
21713 Jenne
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.