我想在bash环境(export http_proxy=xyz)
中设置一个http代理。所以我将命令添加到.bash_profile
的末尾并调用
exec /bin/sh -c "source /path/to/.bash_profile"
但它不能像预期的那样工作:$::env(http_proxy)
不存在(但没有拼写错误)。
我也尝试像这样运行脚本:exec /bin/sh -c [exec cat /path/to/.bash_profile]
..但结果相同。
答案 0 :(得分:2)
说
exec /bin/sh -c "source /path/to/.bash_profile"
{@ 1}}子shell中的source
。因此,在执行命令时,有效地忽略对环境所做的任何更改。
要将环境变量传递给程序,请尝试:
/path/to/.bash_profile