栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Shell:将stdout重定向到/ dev / null,将stderr重定向到stdout

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shell:将stdout重定向到/ dev / null,将stderr重定向到stdout

你要

./script 2>&1 1>/dev/null | ./other-script

这里的顺序很重要。假设stdin(fd 0),stdout(fd 1)和stderr(fd 2)最初都连接到tty,因此

0: /dev/tty, 1: /dev/tty, 2: /dev/tty

首先要设置的是管道。other脚本的stdin连接到管道,而script的stdout连接到管道,因此到目前为止,脚本的文件描述符如下:

0: /dev/tty, 1: pipe, 2: /dev/tty

接下来,发生重定向,从左到右。

2>&1
使fd 2移至fd 1当前所在的位置,即管道。

0: /dev/tty, 1: pipe, 2: pipe

最后,

1>/dev/null
将fd1重定向到
/dev/null

0: /dev/tty, 1: /dev/null, 2: pipe

最终结果是,脚本的stdout被静默,并且其stderr通过管道发送,该管道最终在其他脚本的stdin中。

另请参见http://bash-
hackers.org/wiki/doku.php/howto/redirection_tutorial

还要注意,它

1>/dev/null
是的同义词,但比
>/dev/null



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号