linux shell中"(())"雙括號運算符的使用

  • 學習shell中的運算符及邏輯運算,各種結構,各種注意事項已經學瘋了,還好shell中有雙括號的存在,安利一下。
  • 那些該死的運算符,[[]]/[]/test 邏輯運算、let、expr 通通可以拋棄了

語法結構

((表達式1,表達式2,…))

特點:

1.我們可以像c語言那樣去寫自己的結構
2.在雙括號裏面變量可以不加 $符號
3.可以像其他邏輯運算符號一進行邏輯運算 四則運算
4.支持for循環while循環if條件判斷
5.可以寫多個表達式 中間用逗號分隔

使用實例:

在這裏插入圖片描述輸出結果:
在這裏插入圖片描述
如果雙括號帶:$,將獲得表達式值,賦值給左邊變量。

進行邏輯運算:

#!/bin/sh
 
a=1;
b="ab";
 
echo $((a>1?8:9));
 
((b!="a"))&& echo "err2";
((a<2))&& echo "ok";

運行結果:
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=5050));then
    echo "ok";
fi

運算結果:
5050
5050
ok

終於可以丟掉之前 那些語法結構複雜的邏輯測試了

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