2.9 临时文件命名与随机数
编写shell脚本时,我们经常需要存储临时数据。最适合存储临时数据的位置是 /tmp(该目录中的内容在系统重启后会被清空)。有两种方法可以为临时数据生成标准的文件名。
2.9.1 实战演练
tempfile
命令只有在基于Debian的发布版中才能找到,如Ubuntu、Debian等。Linux的其他发布版中并没有这个命令。
下面的代码为变量temp_file
赋值了一个临时文件名:
temp_file=$(tempfile)
用echo $temp_file
可以在终端中打印出这个临时文件名。
该输出看起来类似于 /tmp/fileaZWm8Y
。
有时候,我们可以用一个加带了随机数的文件名作为临时文件名。我们可以依照下面的方法来实现:
temp_file="/tmp/file-$RANDOM"
环境变量 $RANDOM
总是返回一个随机数。
2.9.2 工作原理
就算不使用tempfile
命令,我们也可以使用自己的临时文件名。多数有经验的UNIX程序员会使用下面的习惯用法:
temp_file="/tmp/var.$$"
.$$
作为添加的后缀会被扩展成当前运行脚本的进程ID。