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”文件。