BASH中的逻辑运算符求值 [英] Logic Operator Evaluation in Bash

查看:0
本文介绍了BASH中的逻辑运算符求值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

逻辑表达式在Bash中的计算似乎是反向的,而不是像C这样的编程语言。

例如,ECHO在成功时将返回0,因此我预期:

echo hi || echo back4more

将输出hi,然后输出back4more到标准输出,因为首先返回0,并且需要检查第二个语句以确定整个逻辑OR表达式的真实性。但是,它只打印hi

同样,这可以从:

中看到
echo hi && echo back4more

,我希望打印hi,因为回应首先返回0,因此0&;&;(逻辑)将始终为FALSE,因此不需要计算(逻辑)。但实际发生的是hiback4more被打印。

为什么会这样?

推荐答案

成功不是真理。

退出状态表示成功。非零退出状态表示失败。

零算术值在逻辑上为布尔值FALSE。非零算术值在逻辑上为布尔值True。

为什么会这样?

||检查故障。由于echo以0退出状态退出,表示成功,||的右侧不执行。

这篇关于BASH中的逻辑运算符求值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆