国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

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

2020-06-13 12:38:22
字體:
來源:轉載
供稿:網友
在剛開始學習inux 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 

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 

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 都可以拋到一邊了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临邑县| 如皋市| 新邵县| 金平| 定日县| 社旗县| 蓝山县| 宜城市| 南丹县| 五大连池市| 抚松县| 江西省| 屏南县| 景东| 吕梁市| 武邑县| 文登市| 大冶市| 义马市| 安仁县| 延津县| 陆良县| 额尔古纳市| 平舆县| 昂仁县| 五莲县| 赫章县| 张掖市| 吉林省| 弥渡县| 德安县| 二手房| 拜城县| 收藏| 贺州市| 陈巴尔虎旗| 油尖旺区| 武城县| 祁阳县| 凯里市| 鲁山县|