关于 mktemp-d
mktemp-d 是规范 Shell 临时文件处理方式的 Agent 技能,要求使用 `mktemp -d` 创建私有目录,而不是在 `/tmp` 下使用固定路径。
主要功能
- 01创建私有临时目录
- 02避免使用固定的 `/tmp` 路径
- 03提供常见操作的 Shell 替换示例
适用场景
- 01为临时文件选择安全位置
- 02将归档解压到唯一临时目录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ petr-korobeinikov/ skills --skill mktemp-d安装后在 Claude Code 中输入/mktemp-d确认已加载。
详细介绍
mktemp-d
切勿在 /tmp 下的硬编码路径中创建临时文件或目录。
始终使用 mktemp -d 分配一个私有目录,
并将所有临时文件放在其中。
原因
mktemp -d 会返回一个唯一的私有目录。
而 /tmp 下的硬编码路径不会——
它会与并发运行以及之前运行遗留的状态发生冲突。
规则
每个逻辑作用域使用一次 mktemp -d,然后在其中构建路径:
tmpdir=$(mktemp -d)
cp something "$tmpdir/input"
do_work > "$tmpdir/output.log"
直接替换
| 不要 | 应当 |
|---|---|
mkdir /tmp/work | work=$(mktemp -d) |
touch /tmp/out.log | work=$(mktemp -d); : > "$work/out.log" |
cmd > /tmp/output | work=$(mktemp -d); cmd > "$work/output" |
tar xf x.tar -C /tmp | work=$(mktemp -d); tar xf x.tar -C "$work" |
如果编辑文件时遇到硬编码的 /tmp/... 路径,
请在同一次编辑中将其替换为 mktemp -d 的惯用写法。
评论
支持 Markdown