首页 理论教育 实用LinuxShell编程:逻辑运算的与或非

实用LinuxShell编程:逻辑运算的与或非

时间:2023-11-18 理论教育 版权反馈
【摘要】:有时,需要两个条件中的一个成立即可。这里的-o是or(或者)的意思。本小节刚刚讲过的内容对应于表5-4的前三行。表5-4 与或非运算下面看逻辑与、逻辑或、逻辑非的例子。的值为1,表明“用户对文件hello.mk既有读权限又有执行权限”是不成立的。“10大于20”是不成立的:“10大于20”的反面(逆命题)是成立的:

实用LinuxShell编程:逻辑运算的与或非

有时需要判断两个条件是否同时成立。这时,运行:

978-7-111-48202-4-Chapter05-28.jpg

或者运行:

978-7-111-48202-4-Chapter05-29.jpg

条件1与条件2都成立时,整条命令的退出状态为0,否则为1。这里的-a是and(与、并且)的意思。

有时,需要两个条件中的一个成立即可。这时,运行:

978-7-111-48202-4-Chapter05-30.jpg

或者运行:

978-7-111-48202-4-Chapter05-31.jpg

条件1成立或者条件2成立(至少有一个成立),整条命令的退出状态为0;条件1与条件2都不成立,整条命令的退出状态为1。这里的-o是or(或者)的意思。

有时需要对某个条件的反面进行判断,格式为:

978-7-111-48202-4-Chapter05-32.jpg

或者为:

978-7-111-48202-4-Chapter05-33.jpg

条件不成立时,命令[!条件表达式]的退出状态为0;条件成立时,退出状态为1。与[条件表达式]的退出状态刚好相反。

小节刚刚讲过的内容对应于表5-4的前三行。(www.xing528.com)

表5-4 与或非运算

978-7-111-48202-4-Chapter05-34.jpg

下面看逻辑与、逻辑或、逻辑非的例子。

例如,上一小节提到过文件hello.mk。如果要判断用户对该文件是否既有读权限又有写权限,可运行如下命令:

978-7-111-48202-4-Chapter05-35.jpg

$?的值为0,表明用户对文件hello.mk有读写权限。如果要判断用户对该文件是否既有读权限又有执行权限,运行如下命令:

978-7-111-48202-4-Chapter05-36.jpg

$?的值为1,表明“用户对文件hello.mk既有读权限又有执行权限”是不成立的。

如果要判断用户对文件hello.mk要么有读权限,要么有执行权限,或者都有,运行如下命令:

978-7-111-48202-4-Chapter05-37.jpg

$?的值为0,表明“用户对文件hello.mk有读权限”与“用户对文件hello.mk有执行权限”,这二者至少有一个是成立的。

“10大于20”是不成立的:

978-7-111-48202-4-Chapter05-38.jpg

“10大于20”的反面(逆命题)是成立的:

978-7-111-48202-4-Chapter05-39.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈