1. 程式人生 > >Shell腳本編程之基本運算符

Shell腳本編程之基本運算符

then 斜杠 shel .com als 常用 語言 講解 返回

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腳本編程之基本運算符