我有一些代理设置,只有偶尔需要开启,所以不想把它们放在我的~/.bash_profile
中。我尝试直接将它们放在~/bin/set_proxy_env.sh
中,将~/bin
添加到我的PATH
中,并使用chmod +x
对脚本进行了授权,虽然脚本运行了,但变量并没有保留在我的shell中。有谁知道如何让它们在整个shell会话中保持可用?
使用以下之一:
source <file>
. <file>
export varname=value
并使用以下命令执行脚本:
source set_proxy_env.sh
。
export
关键字确保变量被标记为后续执行的命令环境中自动包含的内容。使用source
来执行脚本,它会在当前的shell环境下启动脚本,而不是为脚本启动一个临时的shell环境。你试过这个了吗:
. ~/bin/set_proxy_env.sh
单独运行它会打开一个新的子shell(我想是这样),并在其中设置变量。但是,退出返回到你的shell后,绑定就会丢失。前面的点号告诉它在同一个shell内运行。
另外,不要忘记像这样export
需要的变量:export MYVAR=value