Bash

如何停止 bash shell 擴展?

  • March 16, 2015

我知道一些停止程序的方法。當我輸入:

echo {1..999999} > filename.txt 

我無法阻止它執行。Ctrl我可以用+ C|停止其他程序 Ctrl+ D| Ctrl+\等等。但他們似乎都沒有使用這個命令。

有些人告訴我簡單地關閉這個終端。除此之外,打開新終端殺死所有終端程序,但我不想這樣做。我想在伺服器上我不會有這樣的機會打開新終端。

我可以在文本模式下打開一個新的終端會話嗎?

不能用 -etc… 打斷它的原因Ctrlc外殼此時沒有執行任何命令。它正忙於擴展{1..999999}以計算命令行參數在執行命令時最終將是什麼。

雖然外部命令會響應終止信號SIGINT(如按Ctrl-時預設發出c),但 shell 本身會忽略它們。如果他們沒有,那麼,當你按下Ctrl-時c,除了殺死碰巧正在執行的任何命令之外,你還會殺死 shell 本身!(由於 tty 作業控制以及前台和後台程序組,這並不完全正確,但對於該解釋而言足夠接近。)

如果您需要中斷它,不幸的是,您只能殺死 shell 本身。殺死 shell 本身將導致您的會話終止。從這個意義上說,它在很大程度上等同於關閉終端視窗或終止 SSH 連接。

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