2.9 临时文件命名与随机数

编写shell脚本时,我们经常需要存储临时数据。最适合存储临时数据的位置是 /tmp(该目录中的内容在系统重启后会被清空)。有两种方法可以为临时数据生成标准的文件名。

2.9.1 实战演练

tempfile命令只有在基于Debian的发布版中才能找到,如Ubuntu、Debian等。Linux的其他发布版中并没有这个命令。

下面的代码为变量temp_file赋值了一个临时文件名:

  1. temp_file=$(tempfile)

echo $temp_file可以在终端中打印出这个临时文件名。

该输出看起来类似于 /tmp/fileaZWm8Y

有时候,我们可以用一个加带了随机数的文件名作为临时文件名。我们可以依照下面的方法来实现:

  1. temp_file="/tmp/file-$RANDOM"

环境变量 $RANDOM总是返回一个随机数。

2.9.2 工作原理

就算不使用tempfile命令,我们也可以使用自己的临时文件名。多数有经验的UNIX程序员会使用下面的习惯用法:

  1. temp_file="/tmp/var.$$"

.$$ 作为添加的后缀会被扩展成当前运行脚本的进程ID。