DnsMoke
最新版块公告综合求助项目
最新版块 公告 综合 求助 项目
登录注册

搜索

查找主题、作者或分类。

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
找到 1 条结果
DnsMoke© 2026 DnsMoke

导航

  • 社区首页
  • 主题分类

合作

  • 服务商
  • 合作申请

治理

  • 社区规则
  • 公开裁定

联系

  • 联系我们
RSS 订阅服务商合作治理申诉