Shell中的『2>/dev/null』和『>/dev/null 2>&1』和『2>&1>/dev/null』的区别

 

背景

我们经常能在shell脚本中发现『>/dev/null 2>&1』这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了『2>&1>/dev/null』,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。

 

区别

2>/dev/null
意思就是把错误输出到“黑洞”。

 

>/dev/null 2>&1
默认情况是1,也就是等同于『1>/dev/null 2>&1』。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”。

 

2>&1 >/dev/null
意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕。

 

、、、

posted @   i潘小潘  阅读(148)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示