Linux Shell 中的 2>&1 含义

shell中可能经常能看到:commond  2>&1

说明
>  :代表重定向到哪里
1  :表示stdout标准输出,系统默认值是1
2  :表示stderr标准错误
&  :表示等同于的意思,2>&1,表示2的输出重定向等同于1
2>&1 :接着,标准错误输出重定向(等同于)标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件

实例解析:
cmd > a 和 cmd >a 2>&1 为什么不同?
cmd >a :stdout直接送往文件 a
cmd >a 2>&1 :stdout和stderr送往文件a

两者的不同点在于:

从IO效率上来讲,cmd >a 2>&1的效率更高。

此条目发表在 网站开发 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。