shell编程:脚本中忽略信号trap

shell编程  ·  2020-11-30

语法

trap "command" signal1 signal2 ... # command中可以加入变量。

trap捕捉指定的信号,执行command
command可以为空""
放到脚本的最开始

示例

trap '' INT   #将无法用kill -2、ctrl+C 来杀掉进错
trap "echo '该脚本忽略-2、-15信号'" INT TERM  #无法被kill杀掉,但可以被-9信号杀掉

输出伪信号

  1. 列表项目
  2. EXIT #从函数中退出或者脚本执行完毕
  3. ERR #命令执行执行不成功
  4. DEBUG #脚本每一条命令执行前执行,可用于脚本测试,跟踪脚本执行情况。
trap "echo $aa" DEBUG  #扑捉DEBUG,用于脚本调试
trap 'echo "before execute line:$LINENO,a=$a,b=$b,c=$c"' DEBUG
 
评论
Glab. All Rights Reserved. Theme Jasmine by Kent Liao.