`
omygege
  • 浏览: 1356773 次
文章分类
社区版块
存档分类
最新评论

shell 创建临时目录和临时文件mktemp

 
阅读更多
#!/bin/bash

mktemp_local()
{
tempfile=`mktemp temp.XXXXXX` #文件名格式 file.XXXXXX 6个大写X
exec 3>$tempfile

echo -e "\nThis script writes to local temp file $tempfile\n"
echo "This is first line." >&3
echo "This is second line." >&3
echo "This is third line." >&3

echo "Done creating tempfile.The contents are:"
cat $tempfile

rm -f $tempfile 2>/dev/null
}

mktemp_sys()
{
tempfile=`mktemp -t temp.XXXXXX`    #在系统临时目录下创建临时文件
exec 3>$tempfile

echo -e "\nThis script writes to sys temp file $tempfile\n"
echo "This is first line." >&3
echo "This is second line." >&3
echo "This is third line." >&3

echo "Done creating tempfile.The contents are:"
cat $tempfile

rm -f $tempfile 2>/dev/null
}

mktemp_dir()
{
tempdir=`mktemp -d ./tmpd.XXXXXX`    #创建临时目录
cd $tempdir
tempf_a=`mktemp tempf.XXXXXX`     #创建本地临时文件
tempf_b=`mktemp tempf.XXXXXX`
exec 7>$tempf_a
exec 8>$tempf_b

echo "This is a test file for temp file:$tempf_a" >&7
echo "This is a test file for temp file:$tempf_b" >&8

echo -e "\nTempdir contents:\n"
echo "$tempf_a contents:"
cat $tempf_a
echo "$tempf_b contents:"
cat $tempf_b
cd -                   #返回原来的路径
echo -e "\nThe tempd is here:"
ls -d $tempdir
echo -e "\nrm the tempd is here:"
rm $tempdir -rf 2>/dev/null
}

mktemp_local
mktemp_sys

mktemp_dir

#要点

mktemp 命令及选项

   没有选项时建立本地临时文件

-t  在系统的临时目录/tmp 下建立临时文件

-d  建立临时目录

分享到:
评论

相关推荐

    mktemp命令 建立暂存文件

    mktemp用来建立暂存文件,其创建的临时文件是唯一的 ,供shell 使用 。 默认情况下,mktemp会在本地当前目录创建一个临时文件,创建临时文件时只需要创建模板文件,模板可以包含任意的文件名,文件末尾可以根据需要...

    C语言新建临时文件和临时文件名的方法

    主要介绍了C语言新建临时文件和临时文件名的方法,分别是mkstemp()函数和mktemp()函数的使用,需要的朋友可以参考下

    Linux mktemp命令用法详解

    mktemp建立的一个暂存文件,供shell script使用。 语法mktemp [-qu][文件名参数] 参数: -q 执行时若发生错误,不会显示任何信息。 -u 暂存文件会在mktemp结束前先行删除。 [文件名参数] 文件名参数必须是以”自订...

    Linux基础命令之mktemp详解

     创建临时文件或者目录,这样的创建方式是安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法  mktemp [选项] [TEMPLATE] 2、选项列表 选项 说明 –version ...

    Linux指令一周通 (技术图书大系).azw3

    1.72 tmpwatch指令:删除临时文件 1.73 touch指令:更改文件/目录时间 1.74 umask指令:指定在建立文件时权限掩码 1.75 umount指令:卸除文件系统 1.76 unarj指令:解压缩文件 1.77 uncompress指令:解压缩.z文件 ...

    Linux 完全定制指南(中文)

    Bash Shell 启动文件 配置 localnet 脚本 定制 /etc/hosts 文件 为设备创建惯用符号连接 配置网络脚本 8. 使 LFS 系统能够启动 简介 创建 /etc/fstab 文件 Linux-2.6.16.27 使 LFS 系统能够启动 9. 结束 ...

    sixarm_shell_style_guide:SixArm.com→外壳样式指南

    通过使用mktemp而不是tempfile等创建临时文件。 al。 通过使用while和case而不是getopts或getopt来解析选项。 Argumemt解析: :环境变量: 目录: 缓存目录:使用$ XDG_CACHE_HOME 配置目录:使用$ XDG_C

    Linux文件系统命令

    Linux文件系统命令,有mk2fs、mktemp、dump、restore等相关命令

    第22讲mktemp.doc

    文档

    使用任何离线或在线媒体文件或流作为PulseAudio源-Linux开发

    依赖于任何POSIX兼容的Shell PulseAudio FFmpeg mktemp(可选,当使用-p文件名运行virtualmic时不需要)安装将脚本复制到任何$ PATH目录中。 在大多数系统上,/ usr / bin是最明智的目录。 用法用法:virtualmic [-p...

    cadmus:Shell脚本可促进有效的笔记记录

    它基于命令并为任何给定命令打印出可用的子命令,这意味着您可以使用降价文件目录,例如个人Wiki,例如OneNote / Evernote / Notable,例如: 以及终端中的外观概述 例如,如果您想从减价注释中提取所有标签( #...

    mkv-bash-tools:用于处理mkv文件的BASH脚本的集合

    mkv-bash-tools 警告:这些脚本已过时,不适用于当前版本的mkvmerge 我将它们保留在这里是因为我可能... 为了批量转换当前目录中的所有.mkv文件,请将mkv-transcode-flac复制到PATH中的目录并执行: find -iname "*.mk

    linux_c API函数大全

    mktemp(产生唯一的临时文件名) 98 10.21 99 putc(将一指定字符写入文件中) 99 10.22 99 putchar(将指定的字符写到标准输出设备) 99 10.23 99 rewind(重设文件流的读写位置为文件开头) 99 10.24 99 setbuf...

    aur.sh:一个Bash脚本,用于从Arch用户系统信息库中安装软件包

    设置构建目录如果您不希望软件包下载到当前目录,则可以获取/etc/makepkg.conf源代码以设置任何已配置的BUILDDIR : $ source /etc/makepkg.conf和/或首先更改为临时目录: $ cd `mktemp -d`先决条件在安装任何...

    run-exe:运行可执行文件,可选择在 Windows 上以管理员身份尝试出错

    以下示例在C:的根目录中打开一个临时文件。 这应该会提示用户允许进程以提升的权限运行。 import sys import tempfile t = tempfile.mktemp(dir='C:/') run_exe(sys.executable, ''' -c "''' '''import os;''' '...

    fmz:模糊查找器中的文件管理器

    调频区 模糊查找器中的文件管理器。 依存关系 核心utils和 。... tmp= $( mktemp ) command fmz --cd " $tmp " " $@ " res= $( tail -n 1 " $tmp " ) if [ -d " $res " ] && [ " $res " != " $PWD " ] ; then

    AutoLISP 函数概述

    AutoLISP 函数概述及程序设计、相关应用

    enry:更快的文件编程语言检测器

    编程语言检测器和工具箱,用于忽略二进制或供应商的文件。 enry ,最初是原始Ruby库Go的移植端口,它的性能提高了2倍。 命令行界面 建议安装enry命令行工具的方法是或运行: (cd "$(mktemp -d)" && go mod init ...

Global site tag (gtag.js) - Google Analytics