Linux Shell中的管道命令

Shell中管道命令操作符为”|”,仅能处理前面的一个指令传出的正确输出信息,也就是标准输出的信息(没法处理错误信息)。然后传递给下一个命令,作为标准的输入。

原理图

linux-shell-pipe

管道命令只能处理前一个命令正确处理,不处理错误输出。
管道命令右边命令,必须能够接受标准输入流命令才行。

示例

test.sh中的命令如下:

echo "vary good";
echo "good!";
echo "pass!";
echo "no pass!"

# 读出test.sh文件内容,通过管道发送给grep作为输入内容
cat test.sh | grep -n 'echo'
# 读取test.sh文件内容,通过管道发送给ls命令,但是ls命令不支持标准流输入,因此数据废弃
cat test.sh | ls