trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执行。
trap "exit 1" HUP INT PIPE QUIT TERM
表示当shell收到HUP INT PIPE QUIT TERM这几个命令时,当前执行的程序会读取参数“exit 1”,并将它作为命令执行。
我第一次用到这个命令,是在写一个shell的时候,当脚本中某个函数还是返回一个数值时,脚本自动执行某种操作
trap "errorExit" 1 2 3
即当收到这几个数字时,脚本调用errorExit函数(这个函数是我提前定义好的一个处理逻辑的封装),意思进行一些清理收尾工作,然后脚本可以退出休息了
网友评论