从 BASH 脚本设置 env 变量



我需要做一些类似的东西

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

当然,脚本完成后,不会对 shell 进行任何更改。我知道这很棘手,如果因为子进程无法修改父"bash"进程。但可能是另一种方法?

你应该

使用

source bash.sh

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

正如您自己所观察到的那样,子进程无法设置持久环境变量。通常的解决方法之一是编写这样的东西来 stdout:

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

然后在命令替换中使用:

eval "$(./my_script)"

这种脚本的一个示例是dircolors

相关内容

  • 没有找到相关文章

最新更新