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環境下已經布置好的陷阱。 |