Shell脚本编程之基本运算符

Posted 小春熙子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

运行结果:

 

以上是关于Shell脚本编程之基本运算符的主要内容,如果未能解决你的问题,请参考以下文章

linux之Shell编程--Shell基本运算符之算数运算符和关系运算符实例演示

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

shell编程之shell字符

shell脚本基础之详解基本脚本的构建

shell编程之shell 运算

Shell编程入门