阻止命令输出 && 临时文件&&
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