shell編程(四)運算符

C/C++中的基本運算符

C/C++中有加減乘除等基本運算符,直接使用操作數加操作符就可以進行使用。如下所示:

cout<<1+2<<endl;  //計算1 + 2的值,平且打印
cout<<2-1<<endl;
cout<<1/2<<endl;
cout<<2*2<<endl;   

使用方便,並且清晰明瞭,語法規範寬敞

shell中的基本運算符

shell中基本運算符也有加減乘除,但是使用的時候就需要將其加上expr來進行搭配使用。(也就是說expr是一個表達式工具,能夠提供基本運算符的計算)

#!/bin/bash 
#author by dhy
#test expr for + - * / 

a=2
b=4

echo "a + b: `expr $a + $b`"
用法
  • 表達式需要使用``(反引號)來包含起來,這樣才能正確使用expr來進行計算。
  • a 和 b 都需要使用$符號進行前綴,表示爲引用該變量。
  • ‘+’前操作數a需要和+用空格分開,後操作數b也需要使用空格與+分開。

基本運算符例子

#!/bin/bash 
#author by dhy
#test expr for + - * / %

a=2
b=4

echo "a + b: `expr $a + $b`"
echo "a - b: `expr $a - $b`"
echo "a * b: `expr $a \* $b`"
echo "a / b: `expr $a / $b`"
echo "a % b: `expr $a % $b`"

執行結果爲:
在這裏插入圖片描述

賦值,相等,不相等

#!/bin/bash 
#author by dhy
#test expr for + - * / 

a=2
b=4

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

測試 賦值符=, 比較符 == !=
運行結果如下:
在這裏插入圖片描述
第一步,先進入賦值語句中,將b的值賦給a
第二步,賦值之後,判斷a 和 b是否相等

shell中布爾運算符

  • ! :非運算符,和 C/C++中相同,進行取反
  • -o :或運算符
  • -a :與運算符
#test ! -o -a
a=10
b=20

if [ !false ]
then
  echo "use \"!false\" to true branch"
fi

if [ $a -lt 20 -o $b -lt 10 ]
then 
  echo "a < 20 or b < 10"
fi 

if [ $a -lt 100 -a $a -lt $b ]
then 
  echo "a < 100 and a < b"
fi

運行結果如下:
在這裏插入圖片描述

邏輯運算符

  • && (並且): 和 -a 相同
  • || (或者): 和 -o 相同
#test && ||

a=10
b=20

if (($a<100 && $b<100))
then
  echo "use && success"
else
  echo "false"
fi

if (($a>15 || $b>15))
then 
  echo "use || success"
else 
  echo "false"
fi

運行結果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章