在bash,我知道我應該使用&&
如果我想要一個命令B
要運行命令A
成功後:如何在一些其他命令成功運行後才能運行命令?
A && B
但是,如果我想D
被運行後,才A
,B
,C
所有什麼成功? 是
'A&B&C' && D
好嗎?
此外,我應該怎麼做,如果我想確切地知道哪些命令失敗,其中A
,B
和C
(因爲他們會跑很多次,這將需要一段時間,如果我逐一檢查)。
只要任何命令失敗,錯誤信息是否可能會自動輸出到文本文件?
在我的情況下,A
,B
,C
是curl
而B
是rm
,我的劇本是這樣的:
for f in *
do
curl -T server1.com
curl -T server2.com
...
rm $f
done
如果'A'失敗,你想運行'B'和'C'嗎?任何命令失敗後,A && B && C && D'將立即退出。但是,如果您想無條件地運行'A','B'和'C',並且只有在它們全部成功時才運行'D',那麼請參閱@ Adam的回答。 (不,'A&B&C && D'不會做你想做的事;單個'&'會導致命令在後臺運行。) –
感謝您的編輯:) – erical
可以使用括號嗎? – Gabriel