中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

變量的數值(整數)計算

發布時間:2020-09-29 23:42:53 來源:網絡 閱讀:312 作者:baishuchao 欄目:開發技術

變量的數值計算常用的有如下幾個命令:

  • (())用法:

如果要執行簡單的整數運算,只需要特定的算術表達式用"$(("和"))"括起來即可

shell的算術運算符號常置于"$(("......"))"的語法中。這一語法如同雙引號功能,除了內嵌雙引號無需轉義

運算符意義
++ --增加及減少,可前置也可放在結尾
+ - ! ~一元的正號與負號;邏輯與位的取反
*  /  %乘法,除法,與取余
+ -加法,減法
<<= >> =比較符號
== !==相等與不相等
<< >>向左位移   向右位移
&位的AND
^位的異或
|位的或
&&邏輯的AND
||邏輯的OR
?:條件表達式

=   +=   -=    *=  /= %=   

&=   ^=   <<=  >>= |=

賦值運算符a+=1  都相當a=a+1

范例1:shell的算術運算實例如下:

[root@XCN ~]# ((a=1+2**3-4%3)) 
[root@XCN ~]# echo $a
8
[root@XCN ~]# b=$((a=1+2**3-4%3))
[root@XCN ~]# echo $b
8
[root@XCN ~]# echo $((a=1+2**3-4%3))  
8

提示:上面是三種不同的變量計算定義和使用的方式

[root@XCN ~]# echo $((a+=1))   #相當a=a+1
9
[root@XCN ~]# echo $((a++))  
9
[root@XCN ~]# echo $((a--))   
10
[root@XCN ~]# echo $((3>2))    #比較大小
1 
[root@XCN ~]# echo $((3<2))     #比較大小
0

提示:

  1. **為冪運算:%為取模運算(就是除法當中取余數),加減乘除

  2. 上面涉及到的參數變量必須為整數(整型),不能是小數(符點數)或者字符串后面的bc命令可以進行浮點數運算,但一般較少用到,下文會講解。提醒下,你可以直接在shell腳本中使用上述命令進行計算。

  3. echo $((a++))和echo $((a--))表示先輸出a自身的值,然后在進行++--的運算,echo $((++a)和

$((--a))表示先進行++ --的運算,在輸出a自身的值

記憶方法:變量a在前,表達式的值為a,然后a自增或自減,變量a在符號后,表達式值自增或自減,然后a值自增或自減


范例2:--,++在變量前后的舉例理解:

[root@XCN ~]# echo $((3--2)) 
5
[root@XCN ~]# echo $((3==2))   
0

范例3:定義變量計算的例子

[root@XCN ~]# xcn=99
[root@XCN ~]# echo $(($xcn + 1))
100
[root@XCN ~]# echo $(( $xcn + 1 ))
100
[root@XCN ~]# xcn=$(( $xcn + 1 ))   #還可以賦值給變量然后輸出變量
[root@XCN ~]# echo $xcn
100

#提示(())中的變量也可以去掉$符號
[root@XCN ~]# unset xcn
[root@XCN ~]# xcn=99
[root@XCN ~]# echo $((xcn+1))
100

范例4:各種(())的計算命令行執行例子:

[root@XCN ~]# echo $((100/5))   #除法 取商數
20
[root@XCN ~]# echo $((100/5))
20
[root@XCN ~]# echo $((100+5)) 
105
[root@XCN ~]# echo $((100*5)) 
500
[root@XCN ~]# echo $((100-5))  
95
[root@XCN ~]# echo $((100**5))   #冪
10000000000
[root@XCN ~]# echo $((100%5))   #取模,余數
0

范例5:各種(())運算的shell腳本例子

#!/bin/bash
a=6
b=2
echo "a-b =$(($a-$b))"
echo "a+b =$(($a+$b))"
echo "a*b =$(($a*$b))"
echo "a/b =$(($a/$b))"
echo "a**b =$(($a**$b))"
echo "a%b =$(($a%$b))"


執行結果如下:
[root@XCN day2]# sh jisuan.sh 
a-b =4
a+b =8
a*b =12
a/b =3
a**b =36
a%b =0

范例6:實踐考試題,內容如下:

把a,b兩個變量通過命令行腳本傳參的方式實現上面混合運算腳本的功能

a=$1
b=$2
echo "a-b =$(($a-$b))"
echo "a+b =$(($a+$b))"
echo "a*b =$(($a*$b))"
echo "a/b =$(($a/$b))"
echo "a**b =$(($a**$b))"
echo "a%b =$(($a%$b))"

執行結果如下:
[root@XCN day2]# sh jisuan.sh 6 2
a-b =4
a+b =8
a*b =12
a/b =3
a**b =36
a%b =0

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

稷山县| 福安市| 凌云县| 安国市| 正蓝旗| 北安市| 密山市| 望都县| 历史| 咸阳市| 温泉县| 小金县| 湘阴县| 长泰县| 河曲县| 安阳市| 彝良县| 乌兰浩特市| 竹溪县| 永昌县| 扶余县| 莱州市| 桑植县| 郑州市| 焦作市| 肥城市| 洪泽县| 朝阳市| 万全县| 洱源县| 马龙县| 古丈县| 福建省| 安新县| 崇左市| 烟台市| 五寨县| 临朐县| 芮城县| 新乡县| 安多县|