我刚刚升级到 Lion,这是我第一次使用 bash(我之前使用过 csh 和 tcsh)。我遇到了意外行为。一个简单的例子是:
我创建一个包含以下命令的文件:
echo PATH BEFORE is $PATH PATH=/usr/local/fortran:$PATH export PATH echo PATH AFTER is $PATH
我打开一个终端(在 bash 中)并执行上面显示的文件。它回显了预期的结果:
PATH BEFORE is /usr/bin: ... PATH AFTER is /usr/local/fortran:/usr/bin ...
然后我输入:
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)获取它