码迷,mamicode.com
首页 > 其他好文 > 详细

SHELL中创建临时文件的方法

时间:2014-07-17 21:17:20      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:shell   随机数   临时文件   mktemp   

    有时候,我们需要创建文件临时存放一些输出的信息,创建文件时就可能出现文件名存在的问题。如何创建唯一的文件名,Linux为我们提供几个方案:


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


本文出自 “Share your knowledge” 博客,请务必保留此出处http://skypegnu1.blog.51cto.com/8991766/1439556

SHELL中创建临时文件的方法,布布扣,bubuko.com

SHELL中创建临时文件的方法

标签:shell   随机数   临时文件   mktemp   

原文地址:http://skypegnu1.blog.51cto.com/8991766/1439556

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!