`
#rethink#
  • 浏览: 44621 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

(转载)shell 编程之2>&1

阅读更多
shell 编程之2>&1 

经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用 
/tmp/test.sh > /tmp/test.log 2>&1 

前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢? 

要解释这个问题,还是得提到文件重定向。我们知道>和<是文件重定向符。那么1和2是什么?在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1 的意思就是将标准错误也输出到标准输出当中。 

下面通过一个例子来展示2>&1有什么作用: 
$ cat test.sh 

date 

test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错,默认情况下,错误会输出到stderr。date则能正确执行,并且输出时间信息,默认输出到stdout 
./test.sh > test1.log 
./test.sh: line 1: t: command not found 

$ cat test1.log 
Tue Oct  9 20:51:50 CST 2007 

可以看到,date的执行结果被重定向到log文件中了,而t无法执行的错误则只打印在屏幕上。 
$ ./test.sh > test2.log 2>&1 

$ cat test2.log 
./test.sh: line 1: t: command not found 
Tue Oct  9 20:53:44 CST 2007 

这次,stderr和stdout的内容都被重定向到log文件中了。 

实际上, > 就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了,那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。如果只想重定向标准错误到文件中,则可以使用2> file。

 

转载自:http://tory320.iteye.com/blog/490856 

分享到:
评论

相关推荐

    shell编程2 shell编程2 shell编程2

    shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2

    shell编程指南shell编程指南shell编程指南shell编程指南

    shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南

    shell编程教程.chm

    shell编程-shell编程-分支语句(1) shell编程-shell编程-分支语句(2) shell编程-shell编程-循环语句(1) shell编程-shell编程-循环语句(2) Linux的shell编程(一) Linux的shell编程(二) Linux的...

    Shell编程高级进阶系列视频.zip

    13Linux下Shell编程之While case演练 14Linux下Shell编程之While case演练 15Shell编程之函数及脚本案例讲解 16Shell编程之函数及脚本案例讲解 17Linux下Shell编程FIND、SED命令实战 18Linux下Shell编程FIND、SED...

    shell 编程shell 编程

    shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程...

    shell编程shell编程shell编程shell编程

    shell编程shell编程shell编程shell编程

    shell编程题目练习

    shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率

    shell 编程指南pdf

    第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...

    UNIX命令及SHELL编程

    这是一套完整的Unix培训教材,包括Unix常用命令及SHELL编程基础与高级技巧,PDF格式,共30个文件。另有2个Word文档。包内文件清单如下: 01_Shell-文件安全与权限.PDF 02_Shell-使用find和xargs.PDF 03_Shell-...

    Shell编程

    Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程Shell编程

    LINUX与UNIX SHELL编程指南

    LINUX与UNIX SHELL编程指南

    Unix Shell Shell编程

    6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书 6本pdf及chm的shell 编程的书

    Linux Shell编程从初学到精通 第2版

    第1章 Shell脚本编程概述 1 第2章 Linux文件系统和文本编辑器 12 第3章 正则表达式 43 第4章 sed命令和awk编程 64 第5章 文件的排序、合并和分割 105 第6章 变量和引用 133 第7章 退出、测试、判断及操作符 ...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    shell编程入门教程+shell脚本专家指南+UNIX.shell编程24小时教程.rar

    shell编程入门教程+shell脚本专家指南+UNIX.shell编程24小时教程

    Linux操作系统Shell编程

    经典Linux和unix的Shell编程,按照模板练习即可快速提高。

    shell编程个人笔记

    shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人...

    shell 1&gt;&2 2&gt;&1 &&gt;filename重定向的含义和区别

    主要介绍了shell 1&gt;&2 2&gt;&1 &&gt;filename重定向的含义和区别,需要的朋友可以参考下

    Shell编程实验讲稿

    Shell编程实验讲稿 Shell编程实验讲稿 Shell编程实验讲稿 Shell编程实验讲稿

    Shell编程入门基础必备视频教程.zip

    1Linux下Shell编程入门及变量讲解.mp4 2Linux下Shell编程入门及变量讲解.mp4 3Shell编程企业实战菜单系列.mp4 4Shell编程企业实战菜单系列.mp4 5Linux下LAMP实战及脚本编程思路讲解.mp4 6Linux下LAMP实战及脚本编程...

Global site tag (gtag.js) - Google Analytics