shell中 雙括號運算子

2021-06-13 23:13:16 字數 1264 閱讀 4948

在學習使用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...