如果我開始了一個長時間運行的進程,我可以「排隊」一個命令後立即運行嗎?我可以告訴bash在當前正在執行的命令完成後運行一個命令嗎?
我知道我可以用cmd1 && cmd2
語法來做到這一點,如果我從頭開始,但如果cmd1已經在運行?
如果我開始了一個長時間運行的進程,我可以「排隊」一個命令後立即運行嗎?我可以告訴bash在當前正在執行的命令完成後運行一個命令嗎?
我知道我可以用cmd1 && cmd2
語法來做到這一點,如果我從頭開始,但如果cmd1已經在運行?
如果當前運行的命令不是讀取輸入,只需在同一個窗口中輸入命令即可。 Bash將讀取輸入並在當前結束時運行該命令。
您可以使用';'符號。看看這個鏈接:
https://bbs.archlinux.org/viewtopic.php?id=104472
您可以使用:
CMD1 & & CMD2
在CMD1成功,CMD2將執行。或者:
cmd1; cmd2
當cmd1完成時,無論如何cmd2都會執行。
這不回答這個問題;他說'cmd1'已經在運行了。 –
您可以按C-z停止當前的前臺任務,然後鍵入「fg %%; some-other-command」以恢復任務並在之後運行另一個命令。
有關作業標識符的'%%'[請參閱表格](http://tldp.org/LDP/abs/html/x9644.html#JOBIDTABLE)「的詳細信息。 – SergA
...以前的命令* cmd1 *不會嘗試讀取STDIN! –
是的,那就是「如果當前運行的命令不是讀輸入」部分,@ F.Hauri。 :) –