|
|
|
|
公众号矩阵

1.8 标准错误

《UNIX/Linux/OS X中的Shell编程(第4版)》第1章基础概述,本章将会对UNIX系统进行简要讲述,其中包括文件系统、基本命令、文件名替换、I/O重定向及管道。本节为大家介绍标准错误。

作者:门佳 译来源:人民邮电出版社|2018-01-30 15:28

1.8 标准错误

除了标准输入和标准输出,还有第3种虚拟设备:标准错误。绝大多数UNIX命令会将其错误信息写入到这里。和其他两个“标准”位置一样,标准错误默认是同终端或终端应用程序相关联的。在绝大多数情况下,你无法分辨标准输出和标准错误之间的差别:

  1. $ ls n* 列出所有以n 开头的文件  
  2. n* not found  

这里的“not found”消息实际上就是由ls命令写入到标准错误的。你可以通过重定向ls命令的输出来验证该消息的确没有输出到标准输出:

  1. $ ls n* > foo  
  2. n* not found  

你可以看到,即便是做了标准输出重定向,这条消息依然出现在了终端,并没有被添加到文件foo中。

上面的例子揭示了标准错误存在的原因:即便是标准输出被重定向到了文件中或通过管道导向了其他命令,错误消息依然能够显示在终端中。

你也可以使用一种略微复杂的形式将标准错误重定向到文件中(假如你想在长期的操作过程中记录程序可能出现的错误):

  1. command 2> file 

注意,2和>之间可没有空格。所有正常情况下应该进入标准错误的错误信息都会被转入file所指定的文件中,类似于标准输出重定向。

  1. $ ls n* 2> errors  
  2. $ cat errors  
  3. n* not found  


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +更多

Linux安全体系分析与编程

本书选择经典的开放源代码,全面系统地分析了Linux安全机制。本书共有17章,前10章着重介绍了Linux操作系统的安全机制及实现方法,阐述了公...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客