Shell脚本编程之基本运算符

1.算数运算符:原生bash不支持简单的数学运算,但是可以通过其他的命令实现,例如awk和expr,expr最常用

expr是一款表达式计算工具,使用它能完成表达式的求值操作

例如:

val=`expr 2 + 2`
echo "两数之和为 :$val"

两点注意:

**表达式和运算符之间要有空格,例如2+2是不对的,必须写成2 + 2,这与我们熟悉的大多数编程语言不一样

**完整的表达式要被``包含,这不是单引号,而是反引号

 

2.算数运算符实例:

a=10
b=20

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

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

 运行结果:

  • 乘号(*)前边必须加反斜杠()才能实现乘法运算;
  • if...then...fi 是条件语句,后续将会讲解。

3.关系运算符:关系运算符只支持数字,不支持字符串,除非字符串的值是数字

 

4.关系运算符实例:

a=10
b=20
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>or=b"
else
  echo "$a -ge $b:a<b"
fi

if [ $a -le $b ]
then
  echo "$a -le $b:a <or= b"
else
  echo "$a -le $b:a>b"
fi

运行结果:

5.布尔运算符:

 关系运算符实例:

a=10
b=20

if [ $a != $b ]
then
 echo "$a !=$b:a != b"
else
 echo "$a !=$b:a = b"
fi

if [ $a -lt 100 -a $b -gt 15 ]
then
 echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
 echo "$a 小于 100 且 $b 大于 15 : 返回 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 5 -o $b -gt 100 ]
then
 echo "$a 小于 5 或 $b 大于 100 : 返回 true"
else
 echo "$a 小于 5 或 $b 大于 100 : 返回 false"
fi

运行结果:

原文地址:https://www.cnblogs.com/hqutcy/p/8631295.html