写脚本处理导出文件、锁文件这类临时内容时,直接写固定路径容易互相覆盖。mktemp 配合 trap 会稳一点:
#!/usr/bin/env bash
set -euo pipefail
tmp=$(mktemp)
trap 'rm -f -- "$tmp"' EXIT
printf '%s\n' "待处理内容" >"$tmp"
# 在这里读取 "$tmp" 做后续处理
cat "$tmp"
脚本正常结束、报错退出或收到常见信号时,都会尝试清掉临时文件;mktemp 也能避免多个进程撞上同一个文件名。环境是 Bash 4+、Linux/macOS。要保留失败现场的话,可以在 trap 里先判断退出状态,再决定是否删除。