前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell中的管道

Shell中的管道

作者头像
mwangblog
发布2018-07-04 11:26:31
8650
发布2018-07-04 11:26:31
举报
文章被收录于专栏:mwangblogmwangblogmwangblog

管道

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

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

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

$ cat source.list.bk | less

tee

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

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

$ cat hello.txt | tee hello.txt.bk

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

$ cat hello.txt | tee -a hello.txt.bk

条件执行

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

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

$ sudo updatedb || echo "update database error."
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 管道
    • tee
      • 条件执行
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档