一个子进程能够通过环境变量设置回父进程
问题描述:
考虑以下几点:一个子进程能够通过环境变量设置回父进程
$ cat t.sh
echo "This is from t.sh"
eval "t2.sh"
echo "\$FROM_t2=$FROM_t2"
$ cat t2.sh
echo "This is from t2.sh"
export FROM_t2="env_var_from_t2"
我想读“FROM_t2”由t2.sh创建成t.sh.值这可能吗?
答
如果您只是使用shell脚本,通常的做法是使用. t2.sh
(请注意.
以及命令开始处的空格)“源”t2.sh。这会运行t2.sh而无需启动新进程,就好像您刚刚将t2.sh粘贴到t1.sh中一样,所以t1.sh可以查看所有已更改的变量。 “。”是shell内置命令的名称,并且与其他任何命令一样,您需要一个空格后面的空格。如果你想更清楚一点,你也可以写source
而不是.
。