第四章 变量的数值计算实践

4.1 算术运算符

image-20220209121829950.png

注意:黄底的需要了解知道的

4.2 双小括号”(())”数值运算命令

双小括号“(())”的作用是进行数值运算与数值比较,它的效率很高,是企业场景中经常用到的运算方式,其操作方法如下:

image-20220209122051642.png

4.2.1 范例1:特殊范例如下

image-20220209132407184.png

a+=1相当于a=a+1

4.2.2 范例2:在变量前使用—和++特殊运算符的表达式

image-20220209132528057.png

image-20220209132532861.png

注释:如果a在运算符(或—)的前面,那么在输出整个表达式时,会输出a的值,因为a为16,所以表达式的值为16。然后后面echo $a的时候,是因为执行了上面的表达式后,因为有a,因此a会自增1,因此输出a的值为17

4.2.3 范例3:在变量后使用—和++特殊运算符的表达式

image-20220209132703484.png

image-20220209132709471.png

注释:如果a在运算符(++或—)的后面,那么在输出整个表达式时,先进行自增或自减计算,因为a为15或16,所以在自减或自增时,表达式的值为15或16

记忆方法:++,—

变量a在前,表达式的值为a,然后a自增或自减,变量a在符号后,表示式值自增或自减,然后a值自增或自减

4.2.4 范例4:变量赋值在输出

image-20220209132800025.png

4.2.5 范例5:各种(())的计算命令执行方式

image-20220209132829338.png

4.2.6 范例6:各种(())运算的shell脚本例子

image-20220209132858073.png

4.3 let运算命令的用法

let运算命令的语法格式为:let赋值表达式

let赋值表达式的功能等同于“((赋值表达式))”

wps1368.tmp.jpg

提示:let=i+8等同于((i=i+8)),但是后者的效率更高

4.4 expr运算命令的用法

expr命令既可以用于整数运算,也可以用于相关字符长度、匹配等的运算处理

1、用于计算

wpsA8A4.tmp.jpg

提示:expr用法

1)运算符及计算的数字左右必须要有一个空格

2)使用乘号时,必须用转义符屏蔽其特定含义,因为shell可能会误解星号的含义

2、配合变量计算

wpsA8A5.tmp.jpg

3、通过expr来判断一个变量值或字符串是否为整数

wpsA8A6.tmp.jpg

4、通过expr来计算字符串的长度

wpsA8B7.tmp.jpg

4.5 bc命令的用法(支持整数和小数)

wpsA150.tmp.jpg

4.6 基于shell变量输入read命令的运算实践

4.6.1 read命令基础

Shell变量除了可以直接赋值或脚本传参外,还可以使用read命令从标准输入中获得,read为bash内置命令。以下是read命令的基本选项:

  1. 常用选项:
  2. -p:设置提示信息
  3. -t:设置输入等待的时间,单位默认为秒

范例1:实现read基本读入的功能

wpsB983.tmp.jpg

范例2:把read加入脚本

wpsB984.tmp.jpg