添加到 $PATH 的奇怪行为-ZSH

添加到 $PATH 的奇怪行为-ZSH

ZSH 5.8 在我见过的所有地方,我不断看到的将目录添加到我的 ZSH $PATH 的方法都是添加到我的 .zshrc 中export PATH=/what/i/add:$PATH,虽然这确实将我想要的内容添加到我的路径中,但每次我加载 ZSH 时,都会进行相同的添加,例如,echo $PATH返回:/what/i/add:/what/i/add:/rest/of/path,每次我的 .zshrc 运行时都会变得更长。我该如何解决这个问题?我已经设法将我的 $PATH 重置为进行任何更改之前的状态,但我仍然想将目录添加到我的 $PATH。

答案1

Z-Shell 用户指南 Peter Stephenson 2003/03/23 第2.5.11段:

咒语“typeset -U path”,其中 -U 代表唯一,告诉 shell 如果 $path 已经存在,则不应再添加任何内容。确切地说,它只保留最左边的出现,因此如果您在末尾添加了某些内容,它将消失;如果您在开头添加了某些内容,旧的也将消失。因此,以下内容在 .zshenv 中运行良好:typeset -U path path=(~/bin ~/progs/bin $path)

相关内容