OS X 中 Zsh 的 PATH 设置

OS X 中 Zsh 的 PATH 设置

我过去在 OS X 中的 Zsh 中所做的一些研究的笔记中有以下内容。

~/.zshenv和之间~/.zshrc,OSX 似乎调用了/etc/.zprofile哪个调用path_helper,哪个本身重新创造 PATH使用/etc/paths/etc/paths.d

上面似乎表明,如果我想使用自己的PATHZsh non-interativeshell,我应该不是在 中进行这些修改.zshenv

这很奇怪,因为上面的那些路径(/etc/.zprofile /etc/paths/etc/paths.d)不是用户文件和他们重置小路

  1. Zsh 在 OS X 中加载的具体点文件是什么?
  2. /etc/paths这些路径位置(例如和)的作用是什么/etc/paths.d?它们是 OSX 独有的吗?
  3. 在 OSX 中为 shell(例如 Zsh)设置 PATH 的建议做法是什么?

答案1

  1. 与任何其他 Zsh 安装相同:http://zsh.sourceforge.net/Doc/Release/Files.html#Startup_002fShutdown-Files
  2. 这些是 macOS 独有的,用于/etc/zprofile填充您的$path/ $PATH
  3. 默认情况下,您实际上不需要在 macOS 上执行任何操作。一切$path相关的事情都已经被设置好了/etc/zprofile。如果您确实需要添加其他目录,那么我建议在您的文件 $path中添加如下内容:~/.zshrc
    typeset -U PATH path
    path=( 
        ~/Applications/apache-tomcat-8.5.55/bin 
        /usr/local/opt/ncurses/bin 
        $path[@]
    )
    
    这将我的特定目录放在其余目录之前$path,确保首先搜索它们并-U确保$path没有任何重复的条目。

相关内容