shell 重定向

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:10:13
下面的shell 可不可以详细解释一下呀?
(ls you no 2>&1;ls yes 2>&1) 2>&1|egrep \* >file
(ls you no 2>&1;ls yes 2>&1)|egrep \* >file
(ls you no;ls yes) 2>&1|egrep \* >file

2>&1又是什么意思呀??

shell上:
0表示标准输入
1表示标准输出
2表示标准错误输出
2>&1意思是:把 标准错误输出 重定向到 标准输出.

>代表输出重定向

|:是管道,例子:
cmd1 | cmd2 意思是:命令cmd1的标准输出座位cmd2的标准输入.

详细解释第三个命令行,(ls you no;ls yes) 2>&1|egrep \* >file:
2>&1意思是:把 标准错误输出 重定向到 标准输出.
|意思是:管道;
egrep \* :搜索所有的字符串.
>file: 把标准输出导入文件file(如果file存在则清空file,不存在则创建.);

呵呵