Shell脚本学习二:Shell中的算术运算

Linux中有四种算术运算,分别是expr,let,$[],$(())。正则表达式

下面分别介绍一下这四种算术运算的使用方法bash


1、expr的用法ide

[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作加减乘除运算的例子。it

在使用expr作运算的时候,若是想要将运算结果赋值给另外一个变量,就要像以下的操做那样。class

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

下面说一下使用expr要注意的地方。变量

一、使用expr作运算的时候,算术和运算符之间要用空格分隔开,不然将不会进行运算方法

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

二、在进行乘法运算的时候,*前面要接\转义,由于*在正则表达式里面表明匹配多个的意思error

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


2、let命令di

[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的时候,通常都须要将他们赋给一个变量来接受运算的结果。view

let跟expr不同,不须要再算数和运算符之间加空格。


3、$[]的使用

[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


4、$(())的使用

[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
相关文章
相关标签/搜索