Bash
如何停止 bash shell 擴展?
我知道一些停止程序的方法。當我輸入:
echo {1..999999} > filename.txt
我無法阻止它執行。
Ctrl
我可以用+C
|停止其他程序Ctrl
+D
|Ctrl
+\
等等。但他們似乎都沒有使用這個命令。有些人告訴我簡單地關閉這個終端。除此之外,打開新終端殺死所有終端程序,但我不想這樣做。我想在伺服器上我不會有這樣的機會打開新終端。
我可以在文本模式下打開一個新的終端會話嗎?
不能用 -etc… 打斷它的原因
Ctrl
是c
外殼此時沒有執行任何命令。它正忙於擴展{1..999999}
以計算命令行參數在執行命令時最終將是什麼。雖然外部命令會響應終止信號
SIGINT
(如按Ctrl
-時預設發出c
),但 shell 本身會忽略它們。如果他們沒有,那麼,當你按下Ctrl
-時c
,除了殺死碰巧正在執行的任何命令之外,你還會殺死 shell 本身!(由於 tty 作業控制以及前台和後台程序組,這並不完全正確,但對於該解釋而言足夠接近。)如果您需要中斷它,不幸的是,您只能殺死 shell 本身。殺死 shell 本身將導致您的會話終止。從這個意義上說,它在很大程度上等同於關閉終端視窗或終止 SSH 連接。