2017-04-26 63 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」。我感謝你的幫助 –