trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执行。
语法格式:trap [参数]
常用参数:
-l | 让shell打印一个命令名称和其相对应的编号的列表 |
-p | 打印与每一个信号有关联的命令的列表 |
缺省 | 每个接收到的sigspec信号都将会被重置为它们进入shell时的值 |
-f | 阻止中断信号 |
参考实例
清理临时文件:
[root@ezdcc ~]$ trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2
忽略信号:
[root@ezdcc ~]$ trap '' 2
恢复信号的默认操作:
[root@ezdcc ~]$ trap 2
阻止中断操作信号:
[root@ezdcc ~]$ tail -f /var/log/test