如何从脚本中设置bash环境变量?

Jam*_*sen 15 macos bash terminal

我有一些代理设置,我偶尔会想要打开,所以我不想把它们放在我的~/.bash_profile.我试图把它们直接~/bin/set_proxy_env.sh,添加~/bin到我的PATH,和chmod +x荷兰国际集团的脚本,但尽管脚本运行时,该变量并不在我的壳粘.有谁知道如何让他们留在shell会话的其余部分?

mob*_*mob 20

使用以下之一:

source <file>

. <file>
Run Code Online (Sandbox Code Playgroud)

  • 那个先生,是银行里的钱 (2认同)

Ama*_*9MF 16

在脚本中使用

export varname=value

并使用以下命令执行脚本:

source set_proxy_env.sh.

export关键字确保该变量被标记为自动列入随后执行的命令的环境.使用source执行脚本会使用当前shell启动它,而不是为脚本启动临时脚本.


Viv*_*ath 7

你试过这个吗:

. ~/bin/set_proxy_env.sh

单独运行它会打开一个单独的子shell(我认为)并在那里设置变量。但是,在退出回您的 shell 后,绑定就会丢失。前面的点告诉它在同一个 shell 中运行它。

另外,不要忘记export您需要的变量,如下所示:export MYVAR=value