让“导出路径”保持不变

让“导出路径”保持不变

我刚刚升级到 Lion,这是我第一次使用 bash(我之前使用过 csh 和 tcsh)。我遇到了意外行为。一个简单的例子是:

  1. 我创建一个包含以下命令的文件:

    echo PATH BEFORE is $PATH
    PATH=/usr/local/fortran:$PATH
    export PATH
    echo PATH AFTER is $PATH
    
  2. 我打开一个终端(在 bash 中)并执行上面显示的文件。它回显了预期的结果:

    PATH BEFORE is /usr/bin: ...
    PATH AFTER is /usr/local/fortran:/usr/bin ...
    
  3. 然后我输入:

    echo $PATH
    

    并且/usr/local/fortran不是路径的一部分。我假设导出命令会使 PATH 变得粘滞。有人能解释为什么没有发生这种情况吗?

答案1

你需要来源该文件,以便出口变量可供当前 shell 访问。

source script-file
echo $PATH

…或者将export命令添加到 bash 的配置文件之一中 — 在 OS X 中,通常是.bash_profile

答案2

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

在你的 .bash_profile 文件中。

如何执行包含该命令的文件?尝试使用source(man source)获取它

相关内容