首页 百科知识 变量的算术运算

变量的算术运算

时间:2022-10-09 百科知识 版权反馈
【摘要】:要进行算术运算,需要使用expr命令或let命令。表10-4列出了shell支持的算术运算操作符。let支持C语言中的大部分整数运算,可以在表达式中直接使用变量,而不需要在其前面带$符号。当let计算表达式的值时,若最后一个表达式的结果为不为0则返回0值,否则返回1值。若希望保存结果,可以使用let sum=x+y的形式将计算结果保存在变量sum中。另外,表达式中的操作数与运算符之间不要有空格。

10.4.1 变量的算术运算

在Bash中只能进行两个整数间的运算,其结果仍为整数。要进行算术运算,需要使用expr命令或let命令。

(1)expr命令

expr命令的功能是计算表达式的值。该命令将其参数看做算术表达式,它计算该表达式的值并将结果送到标准输出设备上,其语法格式如下:

expr 操作数 运算符 操作数

其中,操作数是已经赋值的整数字符串,运算符是shell支持的算术运算符。

由于Shell是按字符形式存储变量的,所以用户必须保证参加算术运算的操作数是整数字符串。表10-4列出了shell支持的算术运算操作符。

表10-4 shell支持的算术运算操作符

img78

expr同时还是一个命令行计算器,例如:

$expr 2 + 1

3

注意,运算符与操作数之间必须有空格。在上例中“+”号两边都有空格。否则shell会显示语法错误信息。

$expr 5 – 3

2

若expr的一个参数是变量,那么在表达式计算之前用变量值替换变量名。

$int=3

$expr $int + 4

7

使用乘号时,必须用反斜杠屏蔽其特定含义。

$expr 4 \* 5

20

(2)let命令

let是bash的内部命令,其功能Sexpr类似,也能计算算术表达式的值,其语法格式如下所示:

let 表达式 [表达式…]

let支持C语言中的大部分整数运算,可以在表达式中直接使用变量,而不需要在其前面带$符号。当let计算表达式的值时,若最后一个表达式的结果为不为0则返回0值,否则返回1值。

使用let时还需要注意的是,对于let x+y这样的式子,shell虽然计算了x+y的值,但却将结果丢弃。若希望保存结果,可以使用let sum=x+y的形式将计算结果保存在变量sum中。另外,表达式中的操作数与运算符之间不要有空格。

例如:

$x=10

$ let x=x+1

$echo $x

11

$let y=x*2

$echo $y

22

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈