【问题标题】:why is my $PATH much longer than .bash_profile为什么我的 $PATH 比 .bash_profile 长得多
【发布时间】:2014-10-23 02:57:53
【问题描述】:

echo $PATH 显示:

/usr/local/bin:/opt/local/bin:/opt/local/sbin://anaconda/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/stefankaros/bin/FDK/Tools/osx

我的 ~/.bash_profile 是:

# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# added by Anaconda 2.0.1 installer
export PATH="//anaconda/bin:$PATH"

# Initialization for FDK command line tools.Tue Oct  7 20:01:15 2014
FDK_EXE="/Users/stefankaros/bin/FDK/Tools/osx"
PATH=${PATH}:"/Users/stefankaros/bin/FDK/Tools/osx"
export PATH
export FDK_EXE

# MacPorts Installer addition on 2014-10-22_at_21:44:05: adding an appropriate PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.

export PATH=/usr/local/bin:$PATH

我的主目录中没有 .bashrc 或任何其他以 .bash 开头的文件。 在我的 PATH 中,opt/x11/bin 来自哪里?为什么 use/bin 重复? 在我的 .bash_profile 中,导出 FDK_exe 有什么作用? PATH是刚刚在之前的行中导出的吗?

【问题讨论】:

  • unix.stackexchange.com 是询问$PATH 的初始值来自何处的更好地方。
  • 它可能来自/etc/profile/etc/bashrc。或者它可能继承自init
  • 鉴于系统是Mac OS X,也许Ask Different是一个合适的地方问。
  • 有趣还是令人沮丧?所有这些人如何认为他们必须export PATH,即使它基本上已经保证已经出口了。

标签: macos bash .bash-profile


【解决方案1】:

在 Mac OS X 上,有一个文件 /etc/paths,其中包含(在我的 Yosemite 机器上):

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

这些是您未在.bash_profile 中明确设置的 PATH 元素。还有一个目录/etc/paths.d,但在我的机器上是空的。另见man path_helper/usr/libexec/path_helper,从/etc/profile 调用。

您可以清理 PATH 以删除重复的元素。请参阅How to keep from duplicating PATH variable in csh — 即使您使用 Bourne shell 衍生物,它也有相关答案。

【讨论】:

  • 是的!这就是它的来源。谢谢。我想我现在可以放心地编辑我的 .bash_profile!
  • 好的;您在我的机器上显示的内容肯定与/etc/profile 匹配——但它可以被复制到/etc/bashrc(尽管这样做不是一个好主意)。我可以将文件添加到我的答案中,但我认为它们不会增加那么多价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 2019-01-14
  • 2020-11-17
  • 2019-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多