请考虑以下事项:
$ 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"
我想将t2.sh创建的“FROM_t2”的值读入t.sh.这可能吗?
答案 0 :(得分:4)
如果您只是使用shell脚本,通常的方法是使用. t2.sh
“来源”t2.sh(注意.
和命令开头的空格)。这会运行t2.sh而不启动新进程,就像刚刚将t2.sh粘贴到t1.sh中一样,因此t1.sh可以看到所有已更改的变量。 “。”是一个shell内置命令的名称,你需要一个空格,就像任何其他命令一样。如果您想要更明确一些,也可以写source
而不是.
。