当我有两个bash脚本时:
#script1.sh
echo "aaa"
script2.sh
#script.sh
echo "bbb"
当我运行script1.sh时,我得到了两个" aaa"和" bbb"在我的控制台中打印。而对于期望脚本:
#script1
puts aaa
exec script2
#script2
puts bbb
我只能得到" aaa"在我的控制台中打印。那脚本2是在运行后台吗? (我知道它正在运行,因为当脚本2添加了睡眠时,我发现它已经停留了一段时间)
我怎样才能同时获得" aaa"和" bbb"用这两个期望的脚本?
提前致谢
答案 0 :(得分:0)
exec script2
执行script2
并返回其输出 - 但它不会将输出打印到stdout。
您可以使用
#script1
puts aaa
puts [exec script2]
和
#script2
puts bbb
明确打印script2
的输出。
答案 1 :(得分:0)
据我记忆,exec用新的替换当前进程。例如,exec ls
终止了bash过程。