2088

10 分钟

#Bash 的 trap 命令

trap [OPTION]... [[CMD] SIGNAL_SPEC]

功能

捕获信号或 shell 退出事件,并执行指定命令。

类型

Bash 内置命令。

参数

  • OPTION 选项:
    • -l - 打印信号名称及其对应编号的列表
    • -p - 显示与每个 SIGNAL_SPEC 关联的陷阱命令
  • CMD - 要执行的命令;如果没有此参数,则清空所有关联的命令
  • SIGNAL_SPEC - 要捕获的信号或:
    • EXIT - shell 退出时触发
    • ERR - 任何命令返回非 0 时触发
    • DEBUG - 每条命令执行前触发
    • RETURN - 函数返回或 source 加载的脚本结束时触发

#示例

$ TEMP_FILE=$(mktemp)               # 创建临时文件
$ trap 'rm -f "$TEMP_FILE"' EXIT    # shell 退出时自动删除临时文件

#手册

更新: 2026/4/15

作者: PlanC

创建: 2026/4/8