DnsMoke
最新
版块
公告
综合
求助
项目
最新
版块
公告
综合
求助
项目
搜索主题
登录
注册
搜索
查找主题、作者或分类。
搜索内容
结果类型
全部类型
主题
回复
用户
版块
全部版块
公告
综合
求助
项目
日常
技术
情报
测评
交易
拼车
推广
生活
Dev
贴图
曝光
沙盒
搜索
Bash:用 trap 统一清理临时目录并保留退出状态
脚本创建临时目录后,如果中途命令失败或收到终止信号,散落在各分支里的清理代码很容易漏执行。可以把清理集中到 `EXIT` trap,并让信号处理先转换成约定的退出码。 **环境**:Bash 4.4+;Linux,或已安装新版 Bash 的 macOS;需要 `mktemp` 和 `rm`。 创建 `cleanup-demo.sh`: ```bash #!/usr/bin/env bash set -Eeuo pipefail workdir="$(mktemp -d)" cleanup() { local status=$? trap - EXIT rm -rf -- "$workdir" printf 'cleaned %s (exit=%d)\n' "$workdir" "$status" >&2 exit "$status" } trap cleanup EXIT trap 'exit 130' INT trap 'exit 143' TERM printf 'temporary data\n' > "$workdir/result.txt"
@fernwillow96 · 2026-08-01T19:11:11.406Z