系统相关
首页 > 系统相关> > 学习笔记-SHELL脚本编程基础-算术运算-20210401

学习笔记-SHELL脚本编程基础-算术运算-20210401

作者:互联网

 算术运算:

Shell允许在某些情况下对算术表达式进行求值,比如:let和declare 内置命令,(( ))复合命令和算术扩 展。求值以固定宽度的整数进行,不检查溢出,尽管除以0 被困并标记为错误。运算符及其优先级,关 联性和值与C语言相同。以下运算符列表分组为等优先级运算符级别。级别按降序排列优先。

注意:bash 只支持整数,不支持小数

 乘法符号有些场景中需要转义

实现算术运算:

 (1) let var=算术表达式

(2) ((var=算术表达式)) 和上面等价

(3)  var=$[算术表达式]

(4) var=$((算术表达式))

(5) var=$(expr arg1 arg2 arg3 ...)

(6) declare -i var = 数值

(7) echo '算术表达式' | bc (只有bc支持小数点运算)

其他运算方式都不支持小数点运算

举例演示:但是结果运算不是外面想要的结果?怎么办?

   let var=算术表达式

   var=$[算术表达式]

 

 var=$((算术表达式))

 echo '算术表达式' | bc

 expr运算

[root@centos8 ~]# type expr
expr is /usr/bin/expr
[root@centos8 ~]# expr 2 + 5
7
[root@centos8 ~]# expr 2+5
2+5
[root@centos8 ~]# expr 3 + 5
8
[root@centos8 ~]# expr 4 + 5
9
[root@centos8 ~]# expr 4 / 2
2
[root@centos8 ~]# expr 4 / 5
0
[root@centos8 ~]# expr 4 * 5
expr: syntax error: unexpected argument ‘1.txt’
[root@centos8 ~]# expr 4 \* 5
20
[root@centos8 ~]# expr (4 * 5)
-bash: syntax error near unexpected token `4'
[root@centos8 ~]# 

 其他运算方式都不支持小数点运算,所以4/5,结果为0

 

标签:SHELL,算术,expr,编程,20210401,var,root,表达式,centos8
来源: https://www.cnblogs.com/kevin306/p/14604615.html