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

语法格式:trap [参数]

常用参数:

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

参考实例

清理临时文件:

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

忽略信号:

[root@linuxcool ~]$ trap '' 2

恢复信号的默认操作:

[root@linuxcool ~]$ trap 2

阻止中断操作信号:

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

这篇优质的内容由TA贡献而来

郭建鹏

信息系统项目管理师 网络工程师 Linux爱好者