如何从脚本设置bash环境变量?
我有一些代理设置,我只是偶尔想打开,所以我不想把它们放在我的~/.bash_profile
。我试着将它们直接放在~/bin/set_proxy_env.sh
中,将~/bin
添加到我的PATH
和chmod +x
脚本中,但脚本运行时,变量不会粘在我的shell中。有谁知道如何让他们继续在shell会话的其余部分?如何从脚本设置bash环境变量?
用途之一:
source <file>
. <file>
在脚本中使用
export varname=value
,并与执行脚本:
source set_proxy_env.sh
。
export
关键字可确保该变量被标记为自动包含在随后执行的命令的环境中。使用source
来执行一个脚本,使用目前的shell启动它,而不是为脚本启动一个脚本。
我有'export';这是我错过的'源头'。 – 2010-06-17 21:54:14
你试试这个:
. ~/bin/set_proxy_env.sh
自身运行它会打开一个独立的子shell(我认为),并设置变量有。但是,退出到您的shell后,绑定会丢失。前面的点告诉它在同一个shell中运行它。
另外,不要忘了export
你需要像这样的变量:export MYVAR=value
没有必要导出每个变量。只有你需要对子进程可见的那些。 – 2010-06-17 20:00:51
啊是的,这就是我的意思:) – 2010-06-17 20:11:22
,先生,是银行的钱 – tofutim 2016-12-04 00:21:06