相关疑难解决方法(0)

在Bash中识别接收到的信号名称

收到信号后,我可以使用执行某些命令trap.例:

trap 'echo hello world' 1 2
Run Code Online (Sandbox Code Playgroud)

如果收到任何指定的信号,则显示"hello world".

但是如何打印/识别收到的信号名称?

linux bash shell

33
推荐指数
5
解决办法
1万
查看次数

是否有可能在bash中检测*哪个*陷阱信号?

可能重复:
在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变量保存最新收到的信号?

提前致谢!

bash bash-trap

23
推荐指数
2
解决办法
9975
查看次数

标签 统计

bash ×2

bash-trap ×1

linux ×1

shell ×1