Shell学习(二阶#四)
永久性重定向exec
一、基础知识
1、永久性重定向;
2、用它的原因:

echo 命令使用了重定向,将内容输出到 test.txt 文件。
有些脚本文件的输出内容很多,我们需要把输出内容备份到文件中,方便以后检索,按照上面的思路,必须在每个命令后面都使用一次重定向,写起来非常麻烦。如果以后想修改重定向的方向,那工作量也是不小的。
exec 命令就是为解决这种困境的,它可以让重定向对当前 Shell 进程中的所有命令有效。
3、语法
exec > 文件名 或者 exec >> 文件名
二、例子

分析:
1、exec > test.txt 是指定重定向的位置;
2、由于重定向到test.txt文件,所以后面两个echo输出的内容不会显示在屏幕上,而是记录到了test.txt文件中,通过后面的cat test.txt可以看出来;
3、exec >&2 是固定语法,表示结束重定向。(>&2的“>”后面不能有空格,不然要报错。)
三、关联之前的文章来分析

首先,$logfile是定义了的变量。
exec >> $logfile 就是重定向到/tmp/XXXXX.log文件中,那么后面的输出数据均记录到此文件中,并且“>>”代表追加。
未经允许不得转载:天府数据港官方信息博客 » Shell学习(二阶#四)
客官点个赞呗! (0)