Zsh

OS X 中 Zsh 中的 PATH 設置

  • September 2, 2021

我過去在 OS X 中的 Zsh 中所做的一些研究的筆記中有以下內容。

~/.zshenvand之間~/.zshrc,OSX 似乎呼叫/etc/.zprofilewhich calls path_helper, which 本身使用and重新創建 PATH``/etc/paths``/etc/paths.d

以上似乎表明,如果我想使用我自己PATHnon-interativeZsh shell,我不應該.zshenv.

這很奇怪,因為 (/etc/.zprofile /etc/paths/etc/paths.d) 上面的那些路徑不是使用者文件,它們會重置PATH

  1. Zsh 在 OS X 中載入了哪些確切的點文件?
  2. 這些路徑位置(例如/etc/paths/etc/paths.d)的作用是什麼,它們是 OSX 獨有的嗎?
  3. 在 OSX 的 Zsh 中為 shell 設置 PATH 的推薦做法是什麼?
  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沒有任何重複條目。

引用自:https://unix.stackexchange.com/questions/555473