文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>小测试理解UNIX数据流流重定向/dev/null 2>&1

小测试理解UNIX数据流流重定向/dev/null 2>&1

时间:2007-10-21  来源:deeperpurple

拿这位老兄的帖作为学习资源http://www.rainway.org/index.php/2004/10/28/unix-stdout/
UNIX有几种输入输出流,它们分别与几个数字有如下的对应关系:0-标准输入流(stdin),1-标准输出流(stdout),2-标准错误流(stderr)。
测试脚本如下:
#cat std.sh
#!/bin/sh
echo "stdout"
echo "stderr" >&2

开始测试,先从简单的来
# ./std.sh
stdout
stderr
###########在这里,终端屏幕上显示的实际是标准输出流“stdout”和标准错误流"stderr",因为脚本里第二句做了重定向。

# ./std.sh 2>/dev/null
stdout
###########这句就容易理解了,因为把标准错误流的结果重定向到/dev/null。

# ./std.sh >/dev/null
stderr
###########同上,因为标准输出流重定向到/dev/null,标准错误流还是要返回到屏幕。

下面我们搞复杂点,借用原文的测试,再加几个测试,就更容易理解了。

#/bin/sh std.sh 2>&1 > /dev/null
stderr

#/bin.sh std.sh 2>&1 2>/dev/null
stdout

#/bin/sh std.sh 1>&2 > /dev/null
stderr

#/bin/sh std.sh 1>&2 2>/dev/null
stdout

#/bin/sh std.sh > /dev/null 2>&1

#/bin/sh std.sh > /dev/null 1>&2
stdout
stderr

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载