#!/bin/bash# linux系统有一个专供临时文件使用的特殊目录/tmp,系统中任何用户都有权限读写。# mktemp命令:可以直接在/tmp目录中创建唯一的临时文件。其他用户无法访问。echo"mktemp命令会任意将6个X替换为同等数量的字符,保证文件名在目录中是唯一的。"
mktemp testing.XXXXXX
mktemp testing.XXXXXX
mktemp testing.XXXXXX
echo"ls -al testing*"ls-al testing*
echo"脚本中使用mktemp命令时,可以将文件名保存到变量中,可以在随后的脚本中引用"# creating and usinig a temp filetempfile=$(mktemp test19.XXXXXX)exec3>$tempfileecho"this script writes to temp file $tempfile"echo"this is the first line">&3echo"this is the second line">&3echo"this is the last line.">&3# 关闭文件描述符exec3>&-
echo"done creating temp file. the contents are:"echo"cat $tempfile"cat$tempfilerm-f$tempfile2> /dev/null
运行结果
mktemp命令会任意将6个X替换为同等数量的字符,保证文件名在目录中是唯一的。
testing.BmFHdU
testing.h3OrJh
testing.lihV6L
ls-al testing*
-rw------- 1 root root 0 Jul 2421:32 testing.BmFHdU
-rw------- 1 root root 0 Jul 2421:32 testing.h3OrJh
-rw------- 1 root root 0 Jul 2421:32 testing.lihV6L
脚本中使用mktemp命令时,可以将文件名保存到变量中,可以在随后的脚本中引用
this script writes to temp file test19.lQEBX8
done creating temp file. the contents are:
cat test19.lQEBX8
this is the first line
this is the second line
this is the last line.