SHELL中创建临时文件的方法
2014-07-17 15:35
567 查看
有时候,我们需要创建文件临时存放一些输出的信息,创建文件时就可能出现文件名存在的问题。如何创建唯一的文件名,Linux为我们提供几个方案:
1、mktemp(强烈推荐)
2、$RANDOM
编程中,随机数是经常要用到的。BASH也提供了这个功能:$RANDOM 变量,返回(0-32767)之间的随机数,它产生的是伪随机数,所以不应该用于加密的密码。
3、$$变量
Shell的特殊变量 $$保存当前进程的进程号。可以使用它在我们运行的脚本中创建一个唯一的临时文件,因为该脚本在运行时的进程号是唯一的。
这种方法在同一个进程中并不能保证多个文件名唯一。但是它可以创建进程相关的临时文件。
1、mktemp(强烈推荐)
The mktemp utility takes the given filename template and overwrites a portion of it to create a unique filename. The template may be any filename with some number of 'Xs' appended to it, for example /tmp/tfile.XXXXXXXXXX. If no template is specified a default of tmp.XXXXXXXXXX is used and the -t flag is implied (see below). mktemp [-V] | [-dqtu] [-p directory] [template] -d Make a directory instead of a file. # 创建临时目录下面演示一下 mktemp 如何使用:
#!/bin/bash TMPFILE=$(mktemp /tmp/tmp.XXXXXXXXXX) || exit 1 echo "program output" >> $TMPFILE
2、$RANDOM
编程中,随机数是经常要用到的。BASH也提供了这个功能:$RANDOM 变量,返回(0-32767)之间的随机数,它产生的是伪随机数,所以不应该用于加密的密码。
#!/bin/bash TMPFILE="/tmp/tmp_$RANDOM" echo "program output" >> $TMPFILE
3、$$变量
Shell的特殊变量 $$保存当前进程的进程号。可以使用它在我们运行的脚本中创建一个唯一的临时文件,因为该脚本在运行时的进程号是唯一的。
这种方法在同一个进程中并不能保证多个文件名唯一。但是它可以创建进程相关的临时文件。
#!/bin/bash TMPFILE="/tmp/tmp_$$" echo "program output" >> $TMPFILE
相关文章推荐
- shell 中创建临时文件(随机文件名)的方法总结
- Java创建一个临时文件方法
- Word 无法创建工作文件,请检查临时环境变量。解决方法
- mktemp命令_Linux mktemp 命令用法详解:创建临时文件供shell脚本使用
- shell创建临时文件
- WORD 或者 Outlook 提示“无法创建工作文件,请检查临时环境变量” 的解决方法
- shell 创建临时目录和临时文件mktemp
- shell命令行,一键创建 python 模板文件脚本方法
- C#创建临时文件的方法
- 通过临时文件的方法把awk中的数组赋值给shell中的数组
- 创建临时文件的简单方法 .
- Word 无法创建工作文件 请检查临时环境变量 解决方法
- Word出现"无法创建工作文件,请检查临时环境变量"的解决方法
- Python文件读写+创建临时文件夹的基本方法
- shell基础——创建临时文件
- 创建临时文件的简单方法
- 解决MySQL因不能创建临时文件而导致无法启动的方法
- Windows快速创建大文件的三种方法
- 使用JS创建文件再读取文件,读取文件再创建文件的方法
- C# 创建临时文件