stdin demo 2.png
还一个符号<<需要解释,符号<<表示输入时的结束符号。输入cat > test << "eof"命令之后,你就可以输入内容,那些内容最终会存放在test文件,输入完内容后可以输入eof来结束输入
stdin demo 3.png
管道在Unix设计哲学中,有一个重要设计原则--KISS(Keep it Simple, Stupid),大概意思就是只关注如何做好一件事,并把它做到极致。每个程序都有各自的功能,那么有没有一样东西将不同功能的程序互相连通,自由组合成更为强大的宏工具呢?此时,管道出现了,它能够让程序实现了高内聚,低耦合。
How Pipe works.png
如果我想查看文件是否存在某个关键字,此时我可以使用管道
Pipe Demo.png
命令cat README.md | grep 'pod'的处理过程分为两步:
cat README.md查看文件内容
然后将cat README.md输出的内容作为grep 'pod'命令的输入,再进行处理。
上面一个很关键的符号|,就是管道,它能够将前一个命令处理完的stdout作为下一条命令stdin。