configuração PATH sem efeito

1

Eu tenho uma pergunta sobre a variável PATH e formas de configurá-la.

A questão decorre do fato de que a instalação de um pacote de software que estou lidando vem com um script bash que é responsável por configurar o PATH.

Esse script não funciona, e é aqui que eu participo e tento fazer isso manualmente.

Eu tentei alguns métodos como:

PATH=$PATH:~/opt/bin           # or
PATH=~/opt/bin:$PATH           # or
export PATH=~/opt/bin:$PATH    # or
export PATH=$PATH:~/opt/bin    # or
export PATH=$PATH:/opt/bin     # or
PATH=$PATH:/opt/bin            # and
export PATH 

então corro:

echo $PATH

para ver o efeito, mas nada parece ser alterado.

Eu faço tudo isso em uma partição do Linux.

Minha pergunta é se há mais alguma coisa que eu precise fazer antes de tentar mudar o PATH para que qualquer mudança tenha efeito? Ou é simplesmente o modo como estou abordando o problema ineficaz?

Existe alguma outra maneira de adicionar variáveis no PATH (qualquer tipo de software ou similar?)

George

    
por Giwrgos Rizeakos 26.03.2016 / 21:29

2 respostas

1

O valor de PATH é definido inicialmente dentro do arquivo /etc/profile .

Ele é definido para um "usuário padrão" e "root" (não o edite).
Você pode lê-lo executando este comando em um terminal:

cat /etc/profile

No entanto, você deseja alterar o PATH padrão apenas para seu usuário (para que outros usuários possam ter um PATH diferente e especialmente o usuário root ).

No Mint (e isso pode ser diferente para versões diferentes do Mint) com um desktop Gnome (crie ou edite ~/.pam_environment da seguinte forma). Supondo que você tenha um editor de texto chamado gedit :

$ gedit ~/.pam_environment

E adicione (ou altere) esta linha:

PATH DEFAULT=${PATH}:/opt/bin

escreva o arquivo, efetue logout, faça login novamente e o novo valor de PATH deve estar em vigor.

Esta resposta ajudou-me a escrever a minha resposta.

    
por 27.03.2016 / 01:59
0

Você não pode alterar o PATH (ou qualquer outra variável de ambiente) para um processo de shell executando um script.

Se o script modificar (e exports ) PATH, as modificações afetarão apenas o ambiente dentro do script (e qualquer subprocesso ), mas não o processo pai.

Se você quiser modificar o PATH dentro da sua sessão de shell em execução, você precisará modificá-lo diretamente nesta sessão, por exemplo, source ing do script em vez de executar isso.

$ cat mypath.sh
export PATH=/opt/foo/bin:$PATH
$ echo $PATH
/usr/bin
$ ./mypath.sh
$ echo $PATH
/usr/bin
$ . ./mypath.sh
$ echo $PATH
/opt/foo/bin:/usr/bin
    
por 27.03.2016 / 22:02