2017-06-17 33 views
2

運行以下命令後...慶典:停止和重新啓動循環

$ for i in {1..10}; do sleep 3; echo $i; done 

...如果我等待幾秒鐘,打CTL + ž,然後我得到以下幾點:

1 
2 
^Z 
[1]+ Stopped     sleep 3 

現在,如果我用fg恢復過程中,恢復循環的sleep 3一部分,但沒有完成的循環:

$ fg 
sleep 3 
$ 

有沒有辦法阻止進程,以便以後可以繼續循環?

+5

替換'對於i在{1..10};睡3次; echo $ i; (用於{1..10}中的i;確保睡眠3;迴應$ i;完成)'。請參閱:[Bash:即使我暫停第一個命令(Ctrl-z)],接下來運行一個命令(https://stackoverflow.com/q/13600319/3776858) – Cyrus

回答

1

正如其他提到你需要啓動新的子shell與(for i in {1..10}; do sleep 3; echo $i; done) 你可以用ctrl + z掛起。如果您運行jobs命令,您應該看到暫停的作業。然後經由fgbg命令恢復它

enter image description here

的jsfiddle:http://jsfiddle.net/lakshmipathi/chccLdLt/3/