我使用zsh终端,我试图添加一个新的条目(/home/david/pear/bin)到PATH变量。在~/中没有看到PATH变量的引用。zshrc文件,但是执行echo $PATH返回:

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

所以我知道路径变量是在某处设置的。zsh终端的PATH变量设置/修改在哪里?


当前回答

选项1:将这一行添加到~/.zshrc:

export "PATH=$HOME/pear/bin:$PATH"

之后,您需要运行source ~/。zshrc以使您的更改生效,或者关闭此窗口并打开一个新窗口

选项2:在终端控制台中执行它,只将该路径添加到当前终端窗口会话。当您关闭窗口/会话时,它将丢失。

其他回答

在这里,将这一行添加到.zshrc:

export PATH=/home/david/pear/bin:$PATH

编辑:这是可以工作的,但ony上面的答案更好,因为它利用了ZSH为变量提供的结构化接口,如$PATH。这种方法是bash的标准方法,但据我所知,当ZSH提供更好的替代方案时,就没有理由使用它。

要验证新目录已正确添加,可以使用

打印-l $path

因为它的类型是一个数组

PATH=$PATH:/ PATH /to/file/bin 然后导出PATH工作。 查看echo $PATH。其他解决方案是临时添加路径。

实际上,使用ZSH允许您使用环境变量的特殊映射。所以你可以简单地做:

# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH

对我来说,这是一个非常简洁的特征,可以推广到其他变量。 例子:

typeset -T LD_LIBRARY_PATH ld_library_path :

为~/.zshrc添加路径 Sudo vi ~/.zshrc 添加新路径 导出路径= " $路径:NEW_DIRECTORY / bin” 更新~ / . zshrc 保存~ / . zshrc 源~ / . zshrc 检查路径 回声路径美元