Bash

如何計劃一個任務在bash中另一個已經執行的任務之後執行?

  • December 15, 2018

我正在尋找類似的東西,command1 ; command2即如何執行command2command1但我想計劃執行command2何時command1已經執行。

只需鍵入command2並通過 Enter 確認即可解決,假設command1不消耗標準輸入,並且command1不會在輸出中產生太多文本,因此鍵入不切實際(鍵入的字元與command1輸出混合)。

通常我做的是:Ctrl+Z fg && command2

  1. Ctrl+Z暫停它並讓您在 shell 中鍵入更多內容。
  2. (可選bg)在您鍵入 command2 時在後台恢復 command1。
  3. fg && command2如果 command1 成功,則在前台恢復 command1 並隨後將 command2 排隊。如果您願意,您當然可以替換;或替換。||``&&
  1. 啟動命令
command1
  1. Ctrl+暫停執行Z
  2. 通過執行找到暫停命令的作業號(它通常已經列印到控制台何時到控制台何時命令暫停)
jobs
  1. 讓我們command1在後台繼續
bg
  1. 計劃執行command2以等待完成command1
wait -n <command1 job number> ; command2

文件作業控制內置

引用自:https://unix.stackexchange.com/questions/487955