Bash

Ctrl-C (SIGINT) 是否會阻止顯示輸出,即使有程序嘗試輸出它

  • July 25, 2018

我有一個 bash 腳本做錯了事。所以我按下 Ctrl-C 來停止它。

現在是我目前在終端上看到的輸出,所有已執行的程序產生的輸出。即使想要輸出某些內容的程序已經執行/完成了它正在做的事情,Ctrl-C 是否也會阻止列印輸出。

所以,我這樣做:

for i in *; do rm -vf $i; done

我現在可以確定removed 'file'我螢幕上的所有消息都是已刪除的消息,並且沒有其他消息被刪除嗎?

也許相關資訊:我通過 ssh 在螢幕會話中工作。

基本上的。

在 shell 程序擷取到您的Ctrl-C中斷後,它會停止它。

但是有一些警告,例如在for循環中可以有一個在後台執行的 cmd。

另外,有些 cmd 執行得如此之快,以至於您無法從 shell(尤其是通過遠端連接!)獲得快速響應,或者當**它使用 Ctrl-C 實際收到您的“中斷”時。

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