Shell变量、数据重定向和管道(4)

stdin demo 2.png


stdin demo 2.png

还一个符号<<需要解释,符号<<表示输入时的结束符号。输入cat > test << "eof"命令之后,你就可以输入内容,那些内容最终会存放在test文件,输入完内容后可以输入eof来结束输入

stdin demo 3.png


stdin demo 3.png

管道

在Unix设计哲学中,有一个重要设计原则--KISS(Keep it Simple, Stupid),大概意思就是只关注如何做好一件事,并把它做到极致。每个程序都有各自的功能,那么有没有一样东西将不同功能的程序互相连通,自由组合成更为强大的宏工具呢?此时,管道出现了,它能够让程序实现了高内聚,低耦合

How Pipe works.png


How Pipe works.png

如果我想查看文件是否存在某个关键字,此时我可以使用管道

Pipe Demo.png


Pipe Demo.png

命令cat README.md | grep 'pod'的处理过程分为两步:

cat README.md查看文件内容

然后将cat README.md输出的内容作为grep 'pod'命令的输入,再进行处理。

上面一个很关键的符号|,就是管道,它能够将前一个命令处理完的stdout作为下一条命令stdin。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14960.html