0

我打算从主脚本调用一个 shell 脚本并等待它完成,然后再进一步处理主脚本,

我试过做

xyz_Sh &
while [[ $cnt -gt 0 ]] ; do
cnt=`ps -ef| grep "xyz_Sh" |grep -v grep |wc -l`
done

我也尝试使用等待

. xyz_Sh & 
wait_id=$!
wait $wait_id

但在这种情况下,控件不会返回到主程序,脚本在执行 xyz_Sh 后停止,我在这里缺少什么?

谢谢

阿里

4

1 回答 1

1

除非将某些内容放入后台,xyz_Sh否则默认的 shell 行为应该完全符合您的要求。

在 shell 脚本中,在前一个命令结束之前不会执行命令,因此:

xyz_Sh
//do other stuff

应该完全按照您的意愿工作。

另一方面,xyz_Sh 如果确实将事情放在后台,那么您应该更改xyz_Sh以等待其所有进程完成后再退出。这可以通过wait命令来完成。

于 2012-05-21T17:21:49.587 回答