在學習使用shell的邏輯運算子」」使用時候,必須保證運算子與算數之間有空格。 四則運算也只能借助:let,expr等命令完成。 今天講的雙括號」(())」結構語句,就是對shell中算數及賦值運算的擴充套件。
使用方法:
語法:((表示式1,表示式2…))
特點:1、在雙括號結構中,所有表示式可以像c語言一樣,如:a++,b--等。
2、在雙括號結構中,所有變數可以不加入:「$」符號字首。
3、雙括號可以進行邏輯運算,四則運算
4、雙括號結構 擴充套件了for,while,if條件測試運算
5、支援多個表示式運算,各個表示式之間用「,」分開
使用例項:
擴充套件四則運算
**如下:
#!/bin/sh
a=1;
b=2;
c=3;
((a=a+1));
echo $a;
a=$((a+1,b++,c++));
echo $a,$b,$c
執行結果:
sh testsh.sh 2
3,3,4
雙括號結構之間支援多個表示式,然後加減乘除等c語言常用運算子都支援。如果雙括號帶:$,將獲得表示式值,賦值給左邊變數。
擴充套件邏輯運算
**如下:
#!/bin/sh
a=1;
b="ab";
echo $((a>1?8:9));
((b!="a"))&& echo "err2";
((a<2))&& echo "ok";
執行結果:
sh testsh.sh 9
err2 ok
擴充套件流程控制語句(邏輯關係式)
**如下:
#!/bin/sh
num=100;
total=0;
for((i=0;i<=num;i++)); do
((total+=i));
done
echo $total;
total=0;
i=0;
while((i<=num)); do
((total+=i,i++));
done
echo $total;
if((total>=5050));then
echo "ok"; fi
運算結果:
sh testsh.sh
5050
5050 ok
有了雙括號運算子:,,test 邏輯運算,let,expr就不是必須的了。
shell中運算子
學習如何在 shell 中進行各種運算操作 基本語法 1 表示式 或 表示式 2 expr m n 注意 expr 運算子間要有空格 3 expr m n 4 expr 乘,除,取餘 下面是案例 計算 2 3 x4 的值 方式1 表示式 result1 2 3 4 echo result1 resu...
shell 中關係運算子
關係運算子只支援數字,不支援字串,除非字串的值是數字。運算子說明 舉例 eq 檢測兩個數是否相等,相等返回 true。a eq b 返回 false。ne檢測兩個數是否不相等,不相等返回 true。a ne b 返回 true。gt檢測左邊的數是否大於右邊的,如果是,則返回 true。a gt b ...
括號運算子過載
運算子用於函式呼叫 過載格式 型別 類 operator 表示式表 例1 設 x是類 x的乙個物件,則表示式 x arg1,arg2,可被解釋為 x operator arg1,arg2,案例 例2 用過載 運算子實現數學函式的抽象 include class f double f operator...