shell 2>&1 解释

来源:互联网 发布:mac选择的快捷键 编辑:程序博客网 时间:2024/05/23 11:40
一直以来对shell并不是很熟悉,并且在报错日志的时候习惯的写 command >log.log 2>&1
 今天一个同事看了我的shell脚本,问我 2>&1是什么意思,还真把我给难住了。
 经过google了一番,有了个大概的了解:
 
 shell的标准输入默认的是键盘,也可以试文件或者管道|
 标准输出默认是终端同样也可以是文件或者管道
 标准错误默认也是终端,可以试文件等
 
 标准的输入、输出、和错误输出分别表示STDIN STDOUT STDERR 也可以用数字表示 0  1  2
 
 有了以上的解释就明白了
 
 command >log.log 2>&1
 
 2> 代表的是标准输出的重定向
 
 & 是等同于的意思
 
 2>&1 意思是标准错误输出等同于标准输出
 
 command >log.log 2>&1 也就是标准输出 和 标准错误输出 都输入到了log.log文件
0 0
原创粉丝点击