数学运算

expr命令

(1)对数字的基本计算,做比较时,输出结果假为0,1为真;特殊符号用转义符

[root@xuegod63 ~]# expr 2 \> 5

0

[root@xuegod63 ~]# expr 6 \> 5

1

[root@xuegod63 ~]# expr 3 * 5

expr: 语法错误

[root@xuegod63 ~]# expr 3 \* 5

15

[root@xuegod63 ~]# expr 3 \+ 5

8

 

(2)对字符串的处理

[root@xuegod63 ~]# expr length "ni hao"

6

[root@xuegod63 ~]# expr substr "ni hao" 2 4  #从第2个开始,截取4个字符出来

i ha

 

19.3.2  使用$(( ))

格式:$((表达式1,表达2))

特点:

1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。a++  等价于 a=a+1

2、在双括号结构中,所有变量可以不加入:“$”符号前缀。

3、双括号可以进行逻辑运算,四则运算

4、双括号结构 扩展了for,while,if条件测试运算

5、支持多个表达式运算,各个表达式之间用“,”分开

常用的算数运算符

运算符

   意义

++   --

递增及递减,可前置也可以后置

+  -  ! ~

一元运算的正负号 逻辑与取反

+  -  *    /   %

加减乘除与余数

<   <=   >     >=

比较大小符号

==   !=

相等 不相等

>>  <<

向左位移 向右位移

& ^   |

位的与 位的异或 位的或

&&  ||

逻辑与 逻辑或

? :

条件判断

例1:

[root@xuegod63 opt]# b=$((1+2))

[root@xuegod63 opt]# echo $b

3

[root@xuegod63 opt]# echo $((2*3))

6

例2:递增和递减

[root@xuegod63 opt]# echo $((b++))

4

[root@xuegod63 opt]# echo $((++b))

6

说明: a++或a--为先赋值再+1或减1  ;  ++a或--a为先加1或减1,然后再进行赋值

 

例3:

求1到100的和

[root@xuegod63 opt]# echo $((100*(1+100)/2))

5050

版权声明:
作者:WaterBear
链接:https://l-t.top/1590.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>