【问题标题】:Updating bash environment variables using source使用源更新 bash 环境变量
【发布时间】:2013-10-29 20:34:41
【问题描述】:

OS X Mountain Lion source 命令似乎只在我在.bashrc 或.bash_profile 中添加 某些内容时更新我的​​路径。如果我删除这些文件中的任何一个路径,然后使用source 进行更新,删除的路径仍然存在。一个例子……

.bash_profile 中添加到我的PATH

terminal

> echo $PATH
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin"

添加到.bash_profile中的路径

export PATH=$PATH:~/Desktop

返回terminal

> source .bash_profile
> echo $PATH
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myname/Desktop"

所以,一切都按预期进行;我的Desktop 已添加到我的PATH。现在,在我从.bash_profile 中删除之前添加的路径后,将此文件留空

> source .bash_profile
> echo $PATH
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myname/Desktop"

如您所见,“已删除”路径 '/Users/myname/Desktop' 仍然存在。我是不是误会了什么 source 有吗?我认为这相当于打开一个新的终端窗口(确实返回 我期待的结果 - 即没有桌面路径)

【问题讨论】:

    标签: command-line path terminal environment-variables osx-mountain-lion


    【解决方案1】:

    当您第一次使用source .bash_profile 时,由于.bash_profile 文件中的export PATH=$PATH:~/Desktop 行,您的PATH 被重新分配给添加了~/Desktop 目录的旧PATH。

    当您第二次使用 source .bash_profile 时,PATH 不再重新分配,因为您删除了 export PATH=$PATH:~/Desktop 行。所以,这次你的 PATH 的值保持不变(和以前一样)。

    如果您希望 PATH 的值返回其初始值,则必须重新启动终端(当前 shell)。或者您可以获取您的 /etc/environment 文件:

    source /etc/environment
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 2020-12-14
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      相关资源
      最近更新 更多