从我在各个地方收集到的讨论内容来看/usr/libexec/path_helper
,显然,在 macOS Sierra 10.12 中将项目添加到环境变量的现代方法PATH
是:
- 编辑
/etc/paths
文件 - 添加要从目录中读取的文件
/etc/paths.d
。
我的问题:
- 在现代 macOS 上哪一个更合规?
- 如果更好或更常见的方法是将文件放入
paths.d
目录中,那么这些文件的名称和内容应该是什么?有什么例子吗? - 我正在使用
zsh
而不是bash
.这有什么区别吗? - 这两个选项是 macOS 独有的吗?或者它们出现在 BSD 或其他类 Unix 系统中吗?
答案1
使用/etc/paths.d
。主要原因是/etc/paths
系统升级将被修改和/或替换。/etc/paths.d/
物品不会。文件通常以模式命名index-source
。例如,99-mypaths
。路径按顺序附加*。简单地添加/删除文件比以编程方式幂等地编辑文件而不出现错误要容易得多。
macOS 上默认csh.login
、profile
、 和全部加载。zprofile
path_helper
* 可能是 ASCII 顺序,但也可能是 LOCALE 顺序。