游戏后台开发
分类: LINUX
2013-09-03 11:32:40
当用户中断shell脚本时,onintr语句转移控制。onintr语句的格式如下:
onintr label |
当用户在shell脚本执行期间按下中断键时,shell将控制转移到label开始的语句。使用这条语句可以让脚本被中断时“恰当”地终止。举例来说,当用户中断某个shell脚本时,使用这个语句可以确保在将控制权返还给父shell之前删除临时文件。
下面的脚本说明了onintr。它将不断地循环,直到用户按下中断键,此时将显示一条消息并将控制权转移给本shell:
tcsh $ cat onintr_l #!/bin/tcsh # demonstration of onintr onintr close while ( 1 ) echo "Program is running." sleep 2 end close: echo "End of program." |
如果某个脚本创建了一些临时文件,那么就可以使用onintr来删除它们。
close: rm -f /tmp/$$* |
模糊文件名引用/tmp/$$*匹配/tmp中以当前shell的PID编号开头的所有文件。参见第11.3.3节以获取临时文件命名技术的描述。