可能重复:
在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变量保存最新收到的信号?
提前致谢!
cam*_*amh 77
您可以实现自己的陷阱功能,自动将信号传递给函数:
trap_with_arg() {
func="$1" ; shift
for sig ; do
trap "$func $sig" "$sig"
done
}
$ trap_with_arg func_trap INT TERM EXIT
Run Code Online (Sandbox Code Playgroud)
func_trap的第一个参数是信号的名称.
归档时间: |
|
查看次数: |
9975 次 |
最近记录: |