写小脚本时有时要落一个中间文件,如果直接写 /tmp/demo.txt,多开几个终端或者脚本重复跑就容易互相覆盖。mktemp 可以帮忙生成一个不容易撞名的临时文件。
环境:bash 4+,Linux/macOS 常见环境可以试:
tmp=$(mktemp)
printf 'hello temp\n' > "$tmp"
cat "$tmp"
rm "$tmp"
输出会看到:
hello temp
如果想要临时目录,也可以用:
dir=$(mktemp -d)
printf 'cache\n' > "$dir/data.txt"
cat "$dir/data.txt"
rm -r "$dir"
我觉得它适合那种一次性转换、下载后处理的小脚本。记得变量加引号,最后清理掉就行。