linux之Shell编程--Shell基本运算符之逻辑运算符和布尔运算符实例演示

Posted 菠萝印象威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之Shell编程--Shell基本运算符之逻辑运算符和布尔运算符实例演示相关的知识,希望对你有一定的参考价值。

一.Shell逻辑运算符简介

和其它编程语言类似,Shell也有自己的逻辑运算符,下面就罗列了这些运算符。

&&:逻辑且,和其它编程语言一样。(满足条件时需要全部满足才算true)。
||:逻辑或,和其它编程语言一样。(只需满足一个条件就算true)

实例演示:
在这里插入图片描述

a=20;b=10
if [[ $a -eq $b && $a -ne $b ]];then
        echo "a等于b 并且 a不等于b为 true"
else
        echo "a等于b 并且 a不等于b为 false"
fi


if [[ $a -eq $b || $a -ne $b ]];then
        echo "a等于b 或者 a不等于b为 true"
else
        echo "a等于b 或者 a不等于b为 false"
fi

结果:
在这里插入图片描述

注意
1.逻辑&&表示条件中只要一个不满足,整个语句就为false
2.逻辑||表示条件中只要存在一个满足,整个语句就为true
3.在多个判断语句连接时可以使用[[ …逻辑符号… ]]表示,或者使用[ … ]逻辑符号[ … ]表示
比如[[ $a -eq $b && $a -ne $b ]]可以写成[ $a -eq $b ]&&[ $a -ne $b]
在这里插入图片描述
也可以得到结果
在这里插入图片描述

二.布尔运算符

! 运算,表达式为 true 则返回 false,否则返回 true。
-o 运算,有一个表达式为 true 则返回 true。
-a 运算,两个表达式都为 true 才返回 true。

布尔运算符其实和逻辑运算符很类似,它也有与和或运算。

下面进行布尔运算符实例演示
在这里插入图片描述
在这里插入图片描述

#!/bin/bash
a=100;b=20
if [ $a != $b ];then
        echo "$a != $b:a不等于b"
else
        echo "$a = $b:a等于b"
fi


if [ $a -lt 200 -a $b -gt 10 ]
then
   echo "$a 小于 200 且 $b 大于 10 : 返回 true"
else
   echo "$a 小于 200 且 $b 大于 10 : 返回 false"
fi

if [ $a -lt 100 -o $b -gt 100 ]
then
   echo "$a 小于 100 或 $b 大于 100 : 返回 true"
else
   echo "$a 小于 100 或 $b 大于 100 : 返回 false"
fi

if [ $a -lt 100 -o $b -gt 10 ]
then
   echo "$a 小于 100 或 $b 大于 10 : 返回 true"
else
   echo "$a 小于 100 或 $b 大于 10 : 返回 false"
fi

结果:

在这里插入图片描述

以上是关于linux之Shell编程--Shell基本运算符之逻辑运算符和布尔运算符实例演示的主要内容,如果未能解决你的问题,请参考以下文章

linux之Shell编程--Shell基本运算符之字符串运算符和文件运算符实例演示

shell编程之常用系统变量自定义变量特殊变量运算符

Linux之Shell脚本编程

Linux系统编程-Shell脚本基本使用(变量运算符语句等)

linux之shell编程基本语法

shell编程之shell字符