Bash中有两个逻辑运算符:&&
和||
使用 &&
表示“如果前一个命令成功(返回值为 0),则执行下一个命令”。
使用 ||
表示“如果前一个命令失败(返回值非 0),则执行下一个命令”。
如何使用逻辑运算符执行不同的命令呢?
比如我想写一个判断,先执行A代码,如果成功就继续执行B代码,如果不成功就执行C代码,那么就是:
A && B || C
是不是很简单?但你有没有发现一个问题,当A成功后执行B,B有可能会失败,那么这个时候就会继续执行C代码,这显然不是我们想看到的结果,所以:
A && { B; } || C
这意味着如果B被执行后的结果会被忽略,这样就不会引发问题了