2017-04-26 60 views
0

我正在制作CI编译程序。 我使用三个脚本 首先是为了构建。其次是资产构建。最后一个是运行第一个和第二个脚本。 我想等待第一个和第二个脚本,直到他们在上一个脚本中完成。 这是测试脚本。等待新的终端,直到使用bash外壳从原始终端死掉

第一个脚本

#!/bin/sh 
sleep 1 
echo test2 
exit 0 

第二个脚本

#!/bin/sh 
sleep 1 
echo test3 
exit 0 

最后脚本

#!/bin/sh 
open -a /Applications/Utilities/Terminal.app ./screenTest2.sh & 
open -a /Applications/Utilities/Terminal.app ./screenTest3.sh & 
wait 
echo test 

我怎么能等待新的终端死亡或脚本。我新近在OS X中。那么你能否轻松解释这个解决方案?

回答

0

Bash指令是按顺序删除每行末尾的'&'字符。每条指令将一个接一个地执行。您可以安全地移除等待,因此无需等待。

+0

我想构建平行,所以我用& –

+0

所以我不明白你的问题,你的脚本很好,你能解释你认为你的方法有什么问题吗? – jehutyy

+0

我想知道新的终端上的shell脚本的pid。我发现了pgrep命令。这可以找到不是过程的孩子。我使用它像“pgrep - f /users/blah/command.sh”。我感谢你的帮助 –