trap命令主要用于接收信号并采取行动
(1)格式:trap "commands" signals
当shell接收到signals指定的信号时,执行commands命令。

(2)格式:trap signals
如果没有指定命令部分,那么就将信号处理复原。
比如 trap INT 就表明恢复Ctrl+C退出。

(3)格式:trap "" signals
忽略信号signals,可以多个,比如 trap "" INT 表明忽略SIGINT信号,
按Ctrl+C也不能使脚本退出。又如 trap "" HUP 表明忽略SIGHUP信号,
即网络断开时也不能使脚本退出。

(4)格式:trap "commands" EXIT
脚本退出时执行commands指定的命令.

(5)格式:trap "commands" DEBUG.
在脚本执行时打印调试信息,比如打印将要执行的命令及参数列表。

(6)格式:trap "commands" ERR
当命令出错,退出码非0,执行commands指定的命令。

(7)格式:trap "commands" RETURN
当从shell函数返回、或者使用source命令执行另一个脚本文件时,执行commands指定的命令。