export PATH apenas uma vez por login no zsh

2

Eu preciso alterar minha variável PATH , então coloquei export PATH=$PATH:somedir no meu $HOME/.profile , que é originado pelo meu $HOME/.zshrc .

Isso funciona, mas sempre que eu abro um novo terminal ( urxvt in X11 ), .zshrc e, portanto, .profile é lido, adicionando novamente o :somedir ao PATH .

No meu dia-a-dia, as janelas do terminal vêm e vão muito, então depois de três horas de uso, a variável PATH contém centenas de clones do apêndice :somedir .

Como faço para corrigir isso? Existe um arquivo de configuração que é lido por zsh apenas no login?

    
por romeovs 30.08.2012 / 09:37

1 resposta

3

Na página do manual do zsh :

[...] Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read from /etc/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, /etc/zlogin and $ZDOTDIR/.zlogin are read.

Você deve fazer as alterações em PATH em .zprofile (que podem ser de origem .profile , se desejar), não em .zshrc .

    
por 30.08.2012 / 10:05