trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执行。

语法格式:trap [参数]

常用参数:

-l 让shell打印一个命令名称和其相对应的编号的列表
-p 打印与每一个信号有关联的命令的列表
缺省 每个接收到的sigspec信号都将会被重置为它们进入shell时的值
-f 阻止中断信号

参考实例

清理临时文件:

[root@uziwp ~]$ trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2

忽略信号:

[root@uziwp ~]$ trap '' 2

恢复信号的默认操作:

[root@uziwp ~]$ trap 2

阻止中断操作信号:

[root@uziwp ~]$ tail -f /var/log/test