阻止命令输出 && 临时文件&& 记录消息

  • /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











最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容