1):基本概念
原始数据从一端进入,然后接着一个程序对数据进行处理,直到另一端,数据以结果形式出现。shell 允许创建一序列命令,命令(也可以是脚本)用’|’ 分隔开来,代表一个程序的标准输出(不包含有标准错误)可以 自动地发送给 下一个程序的标准输入。
阅读方式为: 从左到右的方式 读取。
两个程序之间的连接’|’ 就是 “管道” , “命令序列”称为 管道线。
编写习惯:
当编写 管道线的时候, ‘|’ 元字符的两边其实没必要加上空格,
但是, 应当加上空格。
可以使得键入的错误发生几率最小,并使得命令可阅读性增强。
2):组合标准错误。
默认情况下,只是将标准输出发送给下一个程序的标准输入。
还可以将标准输出和标准错误组合一起当做另一个程序的标准输入。
# bourne shell家族:
command1 2>&1 | command2
ls -l file1(不存在文件) file2 2>&1 | sort
–注意一个现象:
标准错误会比标准输出 先前打印。