shell中运行的程序输出有标准输出(stdout)和错误输出(stderr)两种。当在终端中运行一个进程时,默认是stdout和stderr混在一起的,需要区分只能去读内容,人眼不容易快速区分。

如何让stdout和stderr一眼能够被区分开来?

让进程产生的标准输出(stdout)是绿色,错误输出(stderr)是红色。这样有没有错误或警告一目明了!

方法

颜色控制的话,使用\e[92m是绿色,\e[93m是红色,\e[0m是默认颜色。具体可以去自行查一查表。

  1. 首先,> >( ..... )将stdout传给一个负责绿色命令,2> >( .... )又将stderr传给一个负责红色的命令。我们都知道stdout的fd号为1,在重定向时可以不写。stderr的fd为2。
  2. sed命令负责给文本加上颜色再输出。
  3. 别忘记对stderr加上红色后,还要用>&2输出至stderr,否则直接输出就变成stdout了。

好了,说了方法之后,完整的命令在这里

要运行的命令 > >(sed $'s,.*,\e[92m&\e[m,')  2> >(sed $'s,.*,\e[93m&\e[m,'>&2)

BASH让标准输出和错误输出颜色不同的更多相关文章

  1. 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式

    1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具   本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...

  2. nohup命令重定向标准输出和错误输出

    命令:command > /dev/null  2>&1 & 输出到/dev/null表示输出重定向到黑洞,即输出内容不打印到屏幕上,null是/dev下空设备文件. &g ...

  3. Linux标准输入、标准输出、错误输出

    Linux中的输入文件.输出文件.错误输出 文件名称 文件描述符 标准输入 0 (默认是键盘) 标准输出 1 (默认是屏幕) 标准错误 2 (默认是屏幕) 输出重定向 Linux中&表示后台运 ...

  4. shell脚本 在后台执行de 命令 >> 文件 2>&1 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

    命令 >> 文件 2>&1或命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) # ll >>aaa 2> ...

  5. shell 标出输入、标准输出、错误输出

    shell中可能经常能看到:>/dev/null  2>&1  eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...

  6. bash shell:重定向标准错误输出

    如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件? Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘.文件重定向 stdout ...

  7. Linux shell标准输入,标准输出,错误输出

    shell中可能经常能看到:1>/dev/null  2>&1  eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{prin ...

  8. [转帖]Linux的标准输入 标准输出和错误输出

    Linux标准输入.输出和错误和文件重定向 专题 https://www.cnblogs.com/softidea/p/3965093.html 感觉自己对 这一块的理解一直不好 昨天同事给了一个 b ...

  9. 将make的输出(标准输出/标准错误输出)重定向到文件

    方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 1.想要把make输出的全部信息,输出到某个文件中 最常见的办法就是:make xxx > ...

随机推荐

  1. Ubuntu下开启/关闭防火墙及端口

    有管理员权限可省略sudo. 1.查看端口开启状态 sudo ufw status 2.开启某个端口(以8866为例) sudo ufw allow 8866 3.开启防火墙 sudo ufw ena ...

  2. 虚拟机安装centos常见问题

    一.centos下载安装 环境:win10系统,虚拟机vm12, centos6.5 http://vault.centos.org/ 链接打开 选择6.5=>isos/=>x86_64= ...

  3. CentOS7下mysql忘记root密码的处理方法

    1.  vi /etc/my.cnf,在[mysqld]中添加 skip-grant-tables 例如: [mysqld] skip-grant-tables datadir=/var/lib/my ...

  4. MySQL安装错误Couldn't find MySQL server

    Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe) 昨天rpm安装MySQL5.7后 ...

  5. 宝塔linux部署node项目

    1.安装宝塔linux之后,按需配置,我的是nginx,不是apq的. 2.下载pm2管理器 3.添加站点,将node项目从localhost打包到到站点,node_modules这个无需打包,这个依 ...

  6. Ansible基础认识及安装(1)

    Ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量 ...

  7. Jmeter引用外部jar包的几种方法

    总结记录下jmeter引用外部jar包的3种方法及其优缺点: 一.测试计划中添加目录或jar包到Classpath 操作:测试计划->添加目录或jar包到Classpath-->浏览导入j ...

  8. TensorFlow之张量

    张量的概念 TensorFlow中的Tensor就是张量,张量是数学对象,是对标量.向量.矩阵的泛化.我们可以直接理解成张量就是列表,就是多维数组. 张量的维数用阶来表示: 0阶张量 标量 单个值 例 ...

  9. 安装Angular CLI开发工具

    目前,无论你使用什么前端框架,都必然要用到NodeJS工具,Angular也不例外,与其他框架不同的是,Angular一开始就使用"全家桶"式的设计思路,因此@angular/cl ...

  10. 初学源码之——银行案例手写IOC和AOP

    手写实现lOC和AOP 上一部分我们理解了loC和AOP思想,我们先不考虑Spring是如何实现这两个思想的,此处准备了一个『银行转账」的案例,请分析该案例在代码层次有什么问题?分析之后使用我们已有知 ...