一个子进程能够通过环境变量设置回父进程

问题描述:

考虑以下几点:一个子进程能够通过环境变量设置回父进程

$ 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而不是.