Entradas de PATH duplicadas - não sei onde estão sendo definidas de [closed]

1

TL; DR algo mudando meu caminho, triplicando meus diretórios personalizados mesmo quando estou comentando a linha export PATH= de bashrc

Recentemente, adicionei uma linha ao meu .bashrc para adicionar dois diretórios personalizados ao caminho:

export PATH=~/Documents/Code/Own/Scripts/:~/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:$PATH

Tudo parece bem, sem problemas. Hoje, no entanto, verifiquei meu caminho para ver quais diretórios eu tinha e descobri que os diretórios personalizados estavam lá três vezes:

echo $PATH
/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin

Estranho, pensei comigo mesmo. Vou comentar a linha do meu bashrc - deve ser originado três vezes por algum motivo. Abra uma nova guia no terminal - o primeiro par de diretórios personalizados desapareceu, mas os outros dois ainda estão lá :

/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin

Então, talvez isso seja apenas um problema com o Terminal GNOME salvando o caminho em cada sessão. Logado através de um TTY e o caminho estava correto - sem entradas de duplicação (meu bashrc ainda era originado através de uma linha bash_profile). No entanto, usando o xterm, o problema ainda estava presente - o que significa que não é algo com o terminal GNOME.

O que eu não entendo é que arquivo está mudando o caminho quando eu comentei a linha do bashrc e nunca a adicionei em nenhum outro lugar. Alguma idéia?

    
por David Bailey 06.10.2016 / 22:31

2 respostas

2

Se você abrir uma nova guia no terminal do GNOME, ela copia o ambiente para o novo shell em vez de criar um novo ambiente vazio. Pessoalmente eu acho que é um erro (e é uma das razões pelas quais eu não usarei o terminal GNOME), mas tenho certeza que os desenvolvedores têm suas razões. Depois de iniciar uma nova aba e copiar o ambiente, ele inicia seu shell, que passa por sua rotina de inicialização interativa normal, que envolve o fornecimento de .bashrc

Se você quiser evitar que sua adição seja feita várias vezes, você tem algumas opções:

  • alterne para um emulador de terminal diferente
  • não faça a modificação em .bashrc , mas em .bash_profile , que é parte do procedimento de login em vez da inicialização interativa e, portanto, não deve ser usada em uma nova guia (mas obviamente é possível que O terminal GNOME está ainda mais quebrado do que eu pensava e ainda pode iniciar o shell de uma forma que fontes .bash_profile , afinal, já faz um bom tempo desde a última vez que usei)
  • verifique se a variável PATH já contém a modificação necessária antes de fazer novamente.
por 07.10.2016 / 02:01
0

Corrigido por sair e entrar novamente, por isso deve ter sido causado por algo que fiz anteriormente na minha sessão.

    
por 06.10.2016 / 23:07