刨根问底:bash shell中管道和其他命令分隔符的优先级

一般在bash中,用“|”作为管道,即pipeline,还可以用“;”之类的分隔符连接多个命令。那么下面这个命令的输出是什么呢?

date; who |wc

根据https://www.gnu.org/software/bash/manual/bashref.html里的说明,管道是'|'或者'|&'分隔的命令

A pipeline is a sequence of one or more commands separated by one of the control operators ‘|’ or ‘|&’

而list是‘;’, ‘&’, ‘&&’或者 ‘||’分隔的管道

A list is a sequence of one or more pipelines separated by one of the operators ‘;’, ‘&’, ‘&&’, or ‘||’, and optionally terminated by one of ‘;’, ‘&’, or a newline.Of these list operators, ‘&&’ and ‘||’ have equal precedence, followed by ‘;’ and ‘&’, which have equal precedence.

因此上面的命令中,"who | wc"作为一个管道,再和前面的"date"结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值