Shell中的管道

Shell中的管道,第1张

管道,从一头进去,从另一头出来。

在Shell中,管道将一个程序的标准输出作为另一个程序的标准输入,就像用一根管子将一个程序的输出连接到另一个程序的输入一样。

管道的符号是 | ,下面的程序将 cat 的标准输出作为 less 的标准输入,以实现翻页的功能:

有时候我们想要同时将程序的输出显示在屏幕上(或旦备进入管道)和保存到文件中,这个时候可以使用 tee 。

tee 程序的输出和它的输入一样,但是会将输入内容额外的保存到文件中:

上面的例子中, tee 程手迟悉毕乎序将 cat 程序的输出显示在屏幕上,并且在 hello.txt.bk 文件中保留了副本。需要注意的是,如果 tee 命令中指定的文件已经存在,那么它将会被覆盖,使用 -a 选项在文件末尾追加内容(而不是覆盖):

command1 &&command2 只有在 command1 成功执行后才会执行 command2 ; command1 || command2 在 command1 没有成功执行时执行 command2 。

比如下面的命令,会首先执行 sudo updatedb ,如果执行失败,则会执行 echo "update database error." :

工作中用到一个shell脚本

内部是循环,在循环内需要更改循环外的颤桐值

简单结构如下

结果是 list_true和list_false肯灶铅定是空

因为管道符的原因,隐洞好会开启子shell,而子shell跟父shell变量不是通用的

解决方案一:

采用如下结构

解决方案二:

将变量存入文件,然后读取文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12318686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存