阻止命令输出 && 临时文件&&

2017-11-07  本文已影响10人  Luyc_Han
  • /dev/null
    • 系统临时文件
    • 可以将输出内容重定向到该文件,那么输出的内容将不再控制台显示
    • 实例
      cat temp.sh > /dev/null
      同时还具有清空文件的能力;例如:
      cat /dev/null > temp.sh
创建临时文件
   创建本地临时文件
   保证创建的文件唯一
   实例指令:
        mktemp 1111.XXXXXX
   这个命令就是创建一个临时文件,同时X表示随机字符,有多少个X就是随机几位.

脚本实例:
#!/bin/bash
#创建临时文件
tempfile=$(mktemp testfile.XXXX)
#重定向临时文件
exec 3> $tempfile
#打印文件名称
echo "文件名称 $tempfile"
#输入文件内容
echo "11111" >&3
echo "11111" >&3
echo "11111" >&3
# 关闭文件
exec 3>&-
#打印文件内容
cat $tempfile
#删除文件
rm -f $tempfile 2> /dev/null
在系统的临时目录创建临时文件
终端指令:
mktemp -t sh.XXXXX
脚本实例:
#!/bin/bash
#创建temp下的临时文件
tempfile=$(mktemp -t testfile.XXXX)
#重定向临时文件
exec 3> $tempfile
#打印文件名称
echo "文件名称 $tempfile"
#输入文件内容
echo "11111" >&3
echo "11111" >&3
echo "11111" >&3
# 关闭文件
exec 3>&-
#打印文件内容
cat $tempfile
#删除文件
rm -f $tempfile 2> /dev/null
在系统的临时目录创建临时目录
终端指令:
mktemp -d sh.XXXXX
脚本实例:
#!/bin/bash
#创建temp下的临时文件
tempfile=$(mktemp -d testfile.XXXX)
#进入临时目录
cd $tempfile
#在临时目录下创建临时文件
tempfile1=$(mktemp testfile.XXXX)
#重定向临时文件
exec 3> $tempfile1
#打印文件名称
echo "文件名称 $tempfile1"
echo "目录路径: $tempfile"
#输入文件内容
echo "11111" >&3
echo "11111" >&3
echo "11111" >&3
#打印文件内容
cat $tempfile1
记录消息
    作用:将输出同时发送显示器和日志文件,这个时候需要重定向两次,现在我们使用tee命令一步实现(简化版)

终端实例:
xiaojie@bogon Desktop $ date | tee temp.sh 
2017年11月 7日 星期二 10时34分33秒 CST
输出终端的同时该信息也已经输入到temp.sh 该文件

如果需要追加则使用:tee -a
xiaojie@bogon Desktop $ date | tee -a temp.sh 
2017年11月 7日 星期二 10时34分33秒 CST

脚本实例:
#!/bin/bash
#testfile.sh该文件会自动创建
tempfile="testfile.sh"
echo "我要输出到控制台" | tee $tempfile
echo "我要追加内容" | tee -a $tempfile











上一篇下一篇

猜你喜欢

热点阅读