Shell腳本學習二:Shell中的算術運算

Linux中有四種算術運算,分別是expr,let,$[],$(())。

下面分別介紹一下這四種算術運算的使用方法


一、expr的用法

[root@ssspure ~]# expr 1 + 2
3
[root@ssspure ~]# expr 1 - 2
-1
[root@ssspure ~]# expr 8 + 6
14
[root@ssspure ~]# expr 8 - 6
2
[root@ssspure ~]# expr 8 \* 6
48
[root@ssspure ~]# expr 8 / 6
1
[root@ssspure ~]# a=3
[root@ssspure ~]# b=4
[root@ssspure ~]# expr $a + $b
7

以上分別是expr做加減乘除運算的例子。

在使用expr做運算的時候,如果想要將運算結果賦值給另一個變量,就要像如下的操作那樣。

[root@ssspure ~]# a=`expr 2 + 3`
[root@ssspure ~]# echo $a
5

下面說一下使用expr要注意的地方。

1、使用expr做運算的時候,算術和運算符之間要用空格分隔開,否則將不會進行運算

[root@ssspure ~]# expr 1+2
1+2

2、在進行乘法運算的時候,*前面要接\轉義,因爲*在正則表達式裏面代表匹配多個的意思

[root@ssspure ~]# expr 2 * 3
expr: syntax error


二、let命令

[root@ssspure ~]# let a=2+3
[root@ssspure ~]# echo $a
5
[root@ssspure ~]# let a=2-3
[root@ssspure ~]# echo $a
-1
[root@ssspure ~]# let a=2*3
[root@ssspure ~]# echo $a
6
[root@ssspure ~]# let a=2/3
[root@ssspure ~]# echo $a
0
[root@ssspure ~]# b=4
[root@ssspure ~]# c=2
[root@ssspure ~]# let a=$b/$c
[root@ssspure ~]# echo $a
2

在使用let的時候,一般都需要將他們賦給一個變量來接受運算的結果。

let跟expr不一樣,不需要再算數和運算符之間加空格。


三、$[]的使用

[root@ssspure ~]# a=$[2+3]
[root@ssspure ~]# echo $a
5
[root@ssspure ~]# a=$[2-3]
[root@ssspure ~]# echo $a
-1
[root@ssspure ~]# a=$[2*3]
[root@ssspure ~]# echo $a
6
[root@ssspure ~]# a=$[2/3]
[root@ssspure ~]# echo $a
0


四、$(())的使用

[root@ssspure ~]# a=$((1+3))
[root@ssspure ~]# echo $a
4
[root@ssspure ~]# a=$((1-3))
[root@ssspure ~]# echo $a
-2
[root@ssspure ~]# a=$((1*3))
[root@ssspure ~]# echo $a
3
[root@ssspure ~]# a=$((1/3))
[root@ssspure ~]# echo $a
0


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