trap命令用于指定在接收到信号后将要采取的行动,信号的信息前面已经提到。 trap 命令的一种常见用途是在脚本程序被中断时完成清理工作。 历史上,shell 总是用数字来代表信号,而新的脚本程字应该使用信号的名字,它们保存在用#include命令包含进来的signal.h头文件中,在使用信号名时需要省略SIG前缀。你可以在命令提示符下输入命令trap -1来查看信号编号;及其关联的名称。 对于那些不熟悉信号的人们来说,“信号”是指那些被异步发送到一一个程序的事件。默认情况下,它们通常会终止- -个程序的运行。 请记住,脚本程序通常是以从上到下的顺序解释执行的,所以必须在你想保护的那部分代码以前指定trap 命令。。 如果要重置某个信号的处理条件到其默认值,只需简单的将command设置为-。如果要忽略某个信号,就把command设置为空字符串”。一个不带参数的trap命令将列出当前设置的信号及其行动的清单 |
trap命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名。 trap command signal stty -a命令列出中断信号与键盘的对应关系 |
1. trap [-lp] -l 选项用于列出当前系统支持的信号列表,和"kill -l"一样的作用。 -p选项用于列出当前shell环境下已经布置好的陷阱。 |