Linux - 多命令顺序执行连接符

分号

分号,没有任何逻辑关系的连接符。当多个命令用分号连接时,各命令之间的执行成功与否彼此没有任何影响,都会一条一条执行下去。

[root@localhost ~]# echo test>test.txt; cat test.txt
test

逻辑或

逻辑或,当用此连接符连接多个命令时,前面的命令执行成功,则后面的命令不会执行。前面的命令执行失败,后面的命令才会执行。

# 不存在 test.txt,所以会执行 echo命令
[root@localhost ~]# ls test.txt || echo notExist

逻辑与

逻辑与,当用此连接符连接多个命令时,前面的命令执行成功,才会执行后面的命令,前面的命令执行失败,后面的命令不会执行,与 || 正好相反。

[root@localhost ~]# touch test.txt && echo test > test.txt && cat test.txt
test

区分&

& 放在启动参数后面表示此进程为后台进程

需要区分以下两个示例

# 将docker stop置为后台执行 然后执行 docker rm
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

# 执行完docker stop后 执行docker rm
docker stop $(docker ps -q) && docker rm $(docker ps -aq)

第一条命令执行可能会报错,因为如果容器还没完全停止之前,是不能删除的。第二个命令就没有该问题

管道符

管道符,当用此连接符连接多个命令时,前面命令执行的正确输出,会交给后面的命令继续处理。若前面的命令执行失败,则会报错,若后面的命令无法处理前面命令的输出,也会报错。

比如经常搭配管道符与grep一起使用

[root@localhost ~]# ls | grep git

参考

https://www.jb51.net/article/136261.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值