赞
踩
trap是一个可以设置接收信号类型,然后执行你给出的命令的命令。比如上面我贴的代码,放在脚本里面的含义就是当脚本执行完毕,执行中间的命令。这种类似回调函数和Go语言中defer一样的用法,没想到Shell里面也有。具体的用法就是:
trap command signal
其中中间的是我们需要执行的命令,最后的是我们想要监听的信号(这里就不列出了所有的信号,可以trap -l查看),这样以后如果需要在脚本执行完毕后加log,就可以这么操作。
例子
trap “echo ‘xxoo’ " HUP INT QUIT TSTP
执行完上面命令,每次在控制台Ctrl+c都会打印"xx00”,这样我们可以做到屏蔽信号的作用,恢复到原样,执行下面的命令:
trap : HUP INT QUIT TSTP
小结
关于Linux的命令和Shell编程真是博大精深,需要好好去学习,去从别人的代码中去学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。