Linux 技术手札

Shell Script 建立临时档案

在写 Shell Script 时, 有时需要建立临时档案, 很多时会用 temp 或 tmp 这类副档名实现。但如果这些档案名称和其他 process 的临时档案名称相同, 便会错误地覆写其他临时档案的内容。

在 Linux 系统可以用 mktemp 工具, 它可以很简单地建立, 使用及移除不会重复档名的临时档案。

执行 mktemp 时, 它们默认会出档案名称及路径:

$ mktemp
/tmp/tmp.94uGx1HYiS

如果没有指定路径, 临时档案的的位置是 /tmp 目录, 如果想指令路径, mktemp 需要加入 -p 参数, 例如:

$ mktemp -p ~/testing

以上指令执行后, 会建立独一无二的临时档案, 并会把结果印出, 在 Shell Script 要使用, 可以把结果储存到变量, 例如:

$ TMPFILE=$(mktemp -p ~/Demo)

$ echo $TMPFILE
/tmp/tmp.e5Uq50nWor

这样便可以建立独一无二的暂存盘案名称, 并把档案的路径储存到 $TMPFILE 变量。要写入内容到临时档, 用完后直接删除这个临时档案, 只要直接操作 $TMPFILE 即可。

而 mktemp 也可以指定档案, 加入 –suffix 参数, 便可以指定临时档案的副档名, 例如:

$ mktemp –suffix .tmp
/tmp/tmp.rIcfnEWsnZ.tmp

以上是用 mktemp 建立临时档案的方法。

Exit mobile version