标准输出,标准错误输出

2023-11-13

标准输出,标准错误输出以及重定向输出。

  (2012-07-24 14:12:46)
标签: 

杂谈

 

 

    Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。

       同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。
       Linux下还有一个非凡的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
       假如想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:
       # ls 1>/dev/null 2>/dev/null
       还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:
       # ls >/dev/null 2>&1
        注重:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静静静:-)
       另外 :
       make >& make_log
       意思是把标准输出和错误输出都重定向, make>out 只重定向标准输出!!!!!
       >log 表示把标准输出重新定向到文件log中
       >& log 表示把标准输出和错误输出都定向到文件log中,相当于 >log 2>&1
 
       错误输出应该被写至标准错误(stderr),缺省情况下标准错误同样也是终端(也就是用户的屏幕)
 
       如果已将标准输出重定向至某一位置,也可以将标准错误重定向至同一位置。例如:
$ command 2>&1

    在这个例子中,符号“2>&1”表示“将标准错误发送至标准输出被重定向的任何位置”,因此错误和正常的消息都将在屏幕上显示。当 然,这是多余的,因为下面简单的调用  

$ command

   将做同样的事。在标准输出已被重定向至其它源,而您希望在同一命令行上将标准错误也写至同一目的地时,该特性就非常有用。例如:

$ command >output_file 2>&1

   在这个例子中,已首先将标准输出重定向至 output_file;因此“2>&1”将使标准错误也被重定向至 output_file。

    原来是这个意思啊!!!才明白!!够费事的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准输出,标准错误输出 的相关文章

  • mac上使用svn

    第一步 使用Homebrew安装subversion Homebrew不知道怎么安装的话 请自行百度 brew install subversion 第二步 使用如下的命令进行检查是否安装了这个软件 brew list 得到如下结果 使用如
  • vue常用组件库

    Vue是主流的前端框架一 Vue js UI组件 element 饿了么出品的Vue2的web UI工具套件 Vux 基于Vue和WeUI的组件库 mint ui Vue 2的移动UI元素 iview 基于 Vuejs 的开源 UI 组件库
  • 32黑马QT笔记之QPixmap和QImage的相互转换

    32黑马QT笔记之QPixmap和QImage的相互转换 1 QPixmap与QImage的互相转换 1 头文件 void paintEvent QPaintEvent 2 实现 cpp文件 void Widget paintEvent Q
  • 敏捷开发系列终极之旅 第六站(像橄榄球运动一样富有激情的SCRUM)

    由来 为什么是Scrum Scrum原本的意思是橄榄球运动的一个专业术语 指 在橄榄球比赛中 双方前锋站在一起紧密相连 当球在他们之间投掷时他们奋力争球 在敏捷开发系列中 把一种开发流程命名为Scrum 其实就意味着 这种敏捷开发的流程 就
  • 解决Android手机root仍然出现adbd connot run as root in production build

    对于手机已经root 但是使用 adb root命令仍然出新adbd connot run as root in production build 原因是手机固件里面设置了adb shell 禁止root 解决方法 下载文件 http do
  • Linux文件、磁盘管理的一些命令:

    Linux文件 磁盘管理的一些命令 Num01 gt ls ls 列出目录的内容 linux文件或目录名称英文最长可有255个字符 中文最长127个字符 表示当前目录 以 开头的文件为隐藏文件 需要以 a参数才能显示 表示上级目录或父目录
  • Training a deep autoencoder or a classifier on MNIST digits_之调试运行与理解

    运行这个程序的主要目的 深入理解deep autoencoder 的基本原理和基本架构 搞明白是如何搭建起来的 弄清它是如何训练学习的 又是如何提取目标的特征的 最终又是怎样分类的 代码主程序如下 mnistdeepauto m plain
  • PHP计算时间差

    时间计算 距离现在多长时间 function format date time t time time f array 31536000 gt 年 2592000 gt 个月 604800 gt 星期 86400 gt 天 3600 gt
  • Web应用下实现定时任务简便方法

    在WEB应用下实现定时任务的简便方法 在web方式下 如果我们要实现定期执行某些任务的话 除了用quartz等第三方开源工具外 我们可以使用Timer和TimeTask来完成指定的定时任务 第一步 创建一个任务管理类 实现ServletCo
  • 基于QT的人脸识别考勤管理系统【一】

    前言 上篇我们已经用opencv实现了人脸识别https blog csdn net qq 42449351 article details 99052241 现在我们就用人脸识别来做一个考勤管理系统 该系统开发工具是 win10 Qt C
  • Numpy学习笔记三——数组切片、bool索引、掩码和花哨索引

    Numpy数组切片 bool索引 掩码和花哨索引 数组切片 slice 数组切片的公式为 my array start end step start end step 示例1 import numpy as np 设置随机种子 np ran
  • mfc入门基础(一)-单文档应用程序框架

    最近因为相关业务 需要接触下mfc的一些老代码 但是mfc上手并没有qt那么简单 所以四处寻找学习资料 发现一个写的挺好的教程 这边我进行转载下 学习的过程中进行了一些修改 总结下 此处附上原文链接 鸡啄米MFC入门系列教程 逸适安然的博客
  • Python爬虫三:抓取链家已成交二手房信息(58W数据)

    环境 Windows7 python3 6 Pycharm2017 目标 抓取链家北京地区已成交二手房信息 无需登录 如下图 户型 朝向 成交时间价格等 保存到csv 最后一共抓取约58W数据 程序运行8h 全部文章 京东爬虫 链家爬虫 美
  • 本人遇到的spring事务之UnexpectedRollbackException异常解决笔记

    本人最近在使用spring事务管理的过程中遇到如下异常 导致服务端抛出500给前端 让搞前端的哥们抱怨我心里着实不爽 前前后后折腾了近半个小时才得于解决 今天就做个笔记 以免日后又犯这个错误 好了 错误是这样的 org springfram
  • Linux环境下 sonar、sonar-scanner、cppcheck配置并汉化

    所需安装包以及插件 我的文件夹如下 文件最好按我的方式存放 以免后面修改路径 下载文件并复制到Linux环境 下载以上所有文件 下载链接 链接 https pan baidu com s 1WUYqFg1MEqVEzbb sn49Ig 提取
  • 数据分析师收藏:关于数据挖掘你想了解的都在这

    随着计算机技术的革新和网络媒体的快速发展 人们的生活以及企业发展进入了高速信息数字化时代 每天的生活以及生产都要产生大量的数据 例如交通 网络 文字 方位等 但是人们很少能够意识到这些丰富数据中隐藏了有价值的信息 什么是数据挖掘 2009年
  • 线性回归与逻辑回归的区别

    因 直 线 一 线性回归与逻辑回归的区别 1 线性回归要求因变量服从正态分布 logistic回归对变量分布没有要求 2 线性回归要求因变量 Y 是连续性数值变量 而logistic回归要求因变量是分类型变量 3 线性回归要求自变量和因变量
  • 动态代理及实现

    反射中Method方法 jdk动态代理 1 InvocationHandler接口 通俗来讲 InvocationHandler接口表示你的代理要干什么 做什么事 2 Method类 method invoke 此invoke和Invoca
  • 按键控制蜂鸣器实验

    实验任务 本节实验任务是使用领航者上的PL KEY0按键来控制蜂鸣器发声 初始状态为蜂鸣器鸣叫 按下按键后蜂鸣器停止鸣叫 再次按下开关 蜂鸣器重新鸣叫 模块示意图 按键消抖 通常我们所使用的开关为机械弹性开关 当我们按下或松开按键时 由于弹

随机推荐