首页 » 信息技术 »

命令行中的&&和||

2019年6月3日 / 8次阅读
Bash

  • 打开支付宝,搜索“ 529018372 ”,领取专属红包!每日支付每日领。

Bash shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? != 1 时,表示执行失败。有时候,我们需要下一条命令依赖前一条命令执行成功与否的状态。

如:只有在成功地执行一条命令之后再执行另一条命令,或者只有在前一条命令执行失败后,再执行下一条命令等。Bash shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。

&&

只有在前一条命令执行成功后,才会执行后面的命令

||

只有前一条命令是否执行失败,才会执行后面的命令

举个例子:

xinlin@ubuntuserver:~/acme-tiny$ cat tt
cat: tt: No such file or directory
xinlin@ubuntuserver:~/acme-tiny$ echo $?
1
xinlin@ubuntuserver:~/acme-tiny$ cat tt && echo 'abcde'
cat: tt: No such file or directory
xinlin@ubuntuserver:~/acme-tiny$ cat tt || echo 'abcde'
cat: tt: No such file or directory
abcde

cat tt时会执行失败的命令,因为没有tt这个文件,

使用&&连接echo命令,echo命令就不会执行;

使用||连接echo命令,cat tt执行失败后echo才会执行。

如果想让多条命令无论如何都执行呢?

使用逗号 ;

xinlin@ubuntuserver:~/acme-tiny$ cat ttt ; echo 'abcde'
cat: ttt: No such file or directory
abcde

总结一下:

& 表示任务在后台执行

&& 表示前一条命令执行成功时,才执行后一条命令

| 表示管道,上一条命令的输出,作为下一条命令参数

|| 表示上一条命令执行失败后,才执行下一条命令

; 表示不管前面的命令如何,后面的都会执行

本文链接:https://www.maixj.net/ict/minglinghang-21581

相关文章

留言区


前一篇:
后一篇:
推一篇:可靠正规,长期稳定,网络兼职项目!!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top