Shell逻辑运算和关系运算

Posted ITdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell逻辑运算和关系运算相关的知识,希望对你有一定的参考价值。

练习代码

#!/bin/bash
var=`expr 2 + 2`
echo "两个数的和是:$var"
a=10
b=20
##注意:
#乘号(*)前边必须加反斜杠(\\)才能实现乘法运算;
#if条件需要使用[]
var1=`expr $a + $b`
echo "a + b = "$var1

val=`expr $a - $b`
echo "a - b : $val"

val=`expr $a \\* $b`
echo "a * b : $val"

val=`expr $b / $a`
echo "b / a : $val"

val=`expr $b % $a`
echo "b % a : $val"

if [ $a == $b ]
then
   echo "a 等于 b"
fi
if [ $a != $b ]
then
   echo "a 不等于 b"
fi

echo "==================关系运算符==================="
#-eq	检测两个数是否相等,相等返回 true。	[ $a -eq $b ] 返回 false。
#-ne	检测两个数是否不相等,不相等返回 true。	[ $a -ne $b ] 返回 true。
#-gt	检测左边的数是否大于右边的,如果是,则返回 true。	[ $a -gt $b ] 返回 false。
#-lt	检测左边的数是否小于右边的,如果是,则返回 true。	[ $a -lt $b ] 返回 true。
#-ge	检测左边的数是否大于等于右边的,如果是,则返回 true。	[ $a -ge $b ] 返回 false。
#-le	检测左边的数是否小于等于右边的,如果是,则返回 true。	[ $a -le $b ] 返回 true。


if [ $a -eq $b ]
then
   echo "$a -eq $b : a 等于 b"
else
   echo "$a -eq $b: a 不等于 b"
fi
if [ $a -ne $b ]
then
   echo "$a -ne $b: a 不等于 b"
else
   echo "$a -ne $b : a 等于 b"
fi
if [ $a -gt $b ]
then
   echo "$a -gt $b: a 大于 b"
else
   echo "$a -gt $b: a 不大于 b"
fi
if [ $a -lt $b ]
then
   echo "$a -lt $b: a 小于 b"
else
   echo "$a -lt $b: a 不小于 b"
fi
if [ $a -ge $b ]
then
   echo "$a -ge $b: a 大于或等于 b"
else
   echo "$a -ge $b: a 小于 b"
fi
if [ $a -le $b ]
then
   echo "$a -le $b: a 小于或等于 b"
else
   echo "$a -le $b: a 大于 b"
fi


结果

以上是关于Shell逻辑运算和关系运算的主要内容,如果未能解决你的问题,请参考以下文章

shell之算数运算符逻辑运算符关系运算符布尔运算符文件测试运算符

05-shell-运算符

Java运算符

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell变量的运算

Java 基本语法---Java运算符