高级Shell编程技巧与应用
1. trap命令的使用
trap命令可让程序更具用户友好性。当在收到信号1或2时执行特定操作(例如, WORKDIR 可能尚未定义),可将命令放在单引号内,示例如下:
trap ‘rm $WORKDIR/work1$$ $WORKDIR/dataout$$; exit’ 1 2
1.1 无参数的trap命令
执行无参数的trap命令会显示你已更改的所有陷阱。示例如下:
$ trap ‘echo logged off at $(date) >>$HOME/logoffs’ 0
$ trap
trap – ‘echo logged off at $(date) >>$HOME/logoffs’ EXIT
$ Ctrl+d
$ login: steve
$ Password:
$ cat $HOME/logoffs
logged off at Wed Oct 2 15:11:58 EDT 2002
这里设置了一个陷阱,每当shell收到信号0(即退出shell时),就会将注销时间写入 $HOME/logoffs 文件。使用单引号是为防止在定义陷阱时shell执行 date 命令。执行无参数的trap命令会显示信号0(EXIT)的更改操作。
1.2 忽略信号
若trap列出的命令为空,
超级会员免费看
订阅专栏 解锁全文
547

被折叠的 条评论
为什么被折叠?



