Bash
如何計劃一個任務在bash中另一個已經執行的任務之後執行?
我正在尋找類似的東西,
command1 ; command2
即如何執行command2
,command1
但我想計劃執行command2
何時command1
已經執行。只需鍵入
command2
並通過 Enter 確認即可解決,假設command1
不消耗標準輸入,並且command1
不會在輸出中產生太多文本,因此鍵入不切實際(鍵入的字元與command1
輸出混合)。
通常我做的是:
Ctrl
+Z
fg && command2
Ctrl
+Z
暫停它並讓您在 shell 中鍵入更多內容。- (可選
bg
)在您鍵入 command2 時在後台恢復 command1。fg && command2
如果 command1 成功,則在前台恢復 command1 並隨後將 command2 排隊。如果您願意,您當然可以替換;
或替換。||``&&
- 啟動命令
command1
- 按
Ctrl
+暫停執行Z
- 通過執行找到暫停命令的作業號(它通常已經列印到控制台何時到控制台何時命令暫停)
jobs
- 讓我們
command1
在後台繼續bg
- 計劃執行
command2
以等待完成command1
wait -n <command1 job number> ; command2
文件作業控制內置