shell:重定向的问题(2>&1)
-- 命令内容:
[root@novice ~]# echo "hello world " > /dev/null 2>&1 (此处的“1”代表文件描述符)
[root@novice ~]# echo "hello world " > /dev/null 2>1 (此处的“1”代表文件)
[root@novice ~]# echo "hello world " no_exsit_file 2>hello.stderr 1>hello.stdout
-- 命令说明:
---- “2>1”说明:2>1 是将“标准错误输出”重定向到当前目录下的“文件1”。
---- “2>&1”说明:2>&1 这里是一个整体,他们之间没有空格;“&”指明“1是个文件描述符,不是文件”。
---- “2>&1”含义:将“标准输出(/dev/stdout)”和“标准错误输出(/dev/stderr)”都重定向到“/dev/null”文件。
---- “2>&1”:将"命令echo"的“标准错误输出”重定向到“标准输出”,然后"命令echo"的“标准输出”重定向到“/dev/null”文件。
---- “2>&1”分两步:第一步,将"命令echo"的“标准错误输出”重定向到“标准输出”;第二步,将"命令echo"的“标准输出”重定向到“/dev/null”文件。
本文由 lnlidawei 原创、整理、转载,本文来自于【博客园】; 整理和转载的文章的版权归属于【原创作者】; 转载或引用时请【保留文章的来源信息】:https://www.cnblogs.com/lnlidawei/p/14275360.html