shell输出与错误重定向到日志文件的方法

发布时间:2019-08-25编辑:脚本学堂
有关linux shell中将输出与错误消息重定向到日志文件中的方法,shell输出与错误重定向的例子,有需要的朋友参考下。

shell日志重定向
开始之前:
 

exec 3>&1
exec 4>&2
exec &>$LOGFILE
 

结束后还原:
 

exec 1>&3 3>&-
exec 2>&4 4>&-

第二部分,shell标准出错重定向到标准输出

shell标准出错重定向到标准输出
2>&1 是将标准出错重定向到标准输出
 
第二个问题很简单:
实现:
 

cat /etc/passwd | grep root | cut -d ":" -f1
 

 
效果:
 

~$ cat /etc/passwd | grep root | cut -d ":" -f1
 
root
 

 
还有另外一个&>这个运算符的意思是什么?请救一下。
回答
> 是输出重定向的意思。
> 是以覆盖的方式重定向
>> 是追加的方式重定向。
 
1代表标准输出,2代表错误信息输出.
 
&1 就代表的是标准输出。
 
最后一个& 符号,是后端执行的意思。
 
例子:
ls han
ls: 无法访问han: 没有那个文件或目录
 
执行
~$ ls han >1.txt 2>&1
 
在shell中没有任何显示
 
此时再执行~$ cat 1.txt
ls: 无法访问han: 没有那个文件或目录
 
说明错误信息被重定向到1.txt 这个文件中了。
 
如果不加这个&
 ls han >1.txt 2>1
 
又会多出来一个 1 文件。
 
cat 1
ls: 无法访问han: 没有那个文件或目录
 
看到了吧。&1 代表逻辑上的标准输出,不加& ,那就会产生名为的1的文件。

以上就是shell输出与错误重定向到日志文件的方法,希望对大家有所帮助。