使用 `/etc/paths` 或 `/etc/paths.d` 将项目添加到 macOS Sierra 中的 PATH 中?

使用 `/etc/paths` 或 `/etc/paths.d` 将项目添加到 macOS Sierra 中的 PATH 中?

从我在各个地方收集到的讨论内容来看/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.loginprofile、 和全部加载。zprofilepath_helper


* 可能是 ASCII 顺序,但也可能是 LOCALE 顺序。

相关内容