收到信号后,我可以使用执行某些命令trap.例:
trap 'echo hello world' 1 2
Run Code Online (Sandbox Code Playgroud)
如果收到任何指定的信号,则显示"hello world".
但是如何打印/识别收到的信号名称?
可能重复:
在bash shell脚本中标识接收到的信号名称
当使用类似的东西trap func_trap INT TERM EXIT时:
func_trap () {
...some commands...
}
Run Code Online (Sandbox Code Playgroud)
功能块中有没有办法检测哪个陷阱调用了它?
就像是:
func_trap () {
if signal = INT; then
# do this
else
# do that
fi
}
Run Code Online (Sandbox Code Playgroud)
或者我是否需要为每个陷阱类型编写一个单独的函数来执行不同的操作?是否有一个bash变量保存最新收到的信号?
提前致谢!