从BASH脚本设置env变量

时间:2016-06-07 08:36:43

标签: bash variables env

我需要做类似

的事情
$ source /etc/environments # called in bash.sh script

当然,在脚本完成后,没有任何更改适用于shell。 我知道如果因为子进程无法修改父'bash'进程,这很棘手。但可能是另一种方式吗?

2 个答案:

答案 0 :(得分:2)

你应该使用

source bash.sh

然后它在原始shell中运行而不是子进程。

答案 1 :(得分:1)

正如您所观察到的那样,子进程无法设置持久性环境变量。通常的工作之一是写这样的东西到stdout:

% cat my_script
#!/bin/bash
echo "export MY_VAR=1234"

然后用于命令替换:

eval "$(./my_script)"

此类脚本的示例是dircolors