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

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

 算术运算:

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

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

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

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

实现算术运算:

 (1) let var=算术表达式

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

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

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

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

(6) declare -i var = 数值

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

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

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

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

   let var=算术表达式

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

   var=$[算术表达式]

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

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

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

 echo '算术表达式' | bc

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

 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脚本编程基础-算术运算-20210401

 

上一篇:使用 Linux 终端进行算术运算


下一篇:oo第三单元总结