shell中竖线的作用_linux命令中'|'竖线,‘||’双竖线,&和&&所表达的意义

1、竖线'|' ,在linux中作为管道符,将'|'前面命令的输出作为'|'后面的输入

比如:显示text.txt文件的前面两行,cat test.txt|head -n2[root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt

aaaaa

bbbbb

ccccc

ddddd

eeeee

fffff

ggggg

[root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt|head -n2

aaaaa

bbbbb

2、双竖线'||',用双竖线'||'分割的多条命令,代表的是或者

执行的时候遵循如下规则,如果前一条命令为假,则继续执行后面的命令,如果前一条命令为真,则后面的命令不会执行。

比如:输入1小于2双竖线输出b,前面为真,后面不执行则没有输出b,输入1大于2双竖线echo b,前面为假则输出b。[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]]||echo b

[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]]||echo b

b

再比如:判断文件是否存在,不存在则创建,存在就什么都不执行。[root@iz2ze9pf0xgaj16n65280pz ~]# ls

[root@iz2ze9pf0xgaj16n65280pz ~]# [[ -f 1.txt ]] || touch 1.txt

[root@iz2ze9pf0xgaj16n65280pz ~]# ls

1.txt

[root@iz2ze9pf0xgaj16n65280pz ~]# || touch 2.txt

[root@iz2ze9pf0xgaj16n65280pz ~]# ls

1.txt

3、&& 可同时执行多条命令,代表的是且,当碰到执行错误的命令时,将不再执行后面的命令。如果一直没有错误的,则执行完毕。[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]] && echo b

b

[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] && echo b

4、&同时执行多条命令,不管命令是否执行成功[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] & echo b

[1] 27051

b

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值