我正在使用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