我正在使用zgrep - 在壓縮文件上運行grep的bash腳本包裝器。bash:退出腳本循環
問題是,控制 - c不會停止腳本。 我想是因爲循環遍歷文件,產生子shell,所以終止信號轉到正在運行的grep進程,而不是父腳本。所以即使陷入父母腳本也不行。
來說明:
trap break SIGPIPE SIGTERM SIGQUIT SIGSTOP
for i
gzip -cdfq "$i" | grep $pattern
done
我也試過"/bin/kill -- -$$"
代替break
,具有相同的結果。我猜這個腳本沒有得到中斷。
任何想法如何解決這個問題?
是的,但是信號也會傳遞給程序,因此(通常)會盡早終止信號,然後陷阱會發出聰明的聲音。 – bobbogo 2011-03-14 18:43:21