算术运算符
算术运算符包括
+ - * / % ++ --算术运算符是用于数值类型的计算,在shell中,算术运算符只能用于整数类型的计算,不能用于符点数类型的计算。
bash内置算术运算符语法
bash内置了以上所有的算术运算符,其中++ --为后置自增和后置自减。
内置运算符的语法格式为
$((a+b))
$((a++))注意,如下的脚本文件在第3行$((a++))是会报错的,
#!/bin/bash
a=1
$((a++))
echo $a执行结果如下:
./a.sh: line 3: 1: command not found
2这是因为$((a++))的效果是先返回1,再将a自增1,返回的1会被当成是一条命令,所以报1: command not found,这和在shell提示符下执行 $(echo hello)是一样的道理,会报hello: command not found。所以我们要注意,一行代码,它是执行一条命令,还是我们要拿到这条命令的输出
不过,虽然会报错,但a的确已经自增了。看下面的代码及输出
输出:
示例
expr工具
我们还可以利用其他的命令进行算术运算,常用的命令有 expr、awk。这里,我们详细地介绍一下expr,expr命令的用法可以执行expr --help查看。
expr命令中的算术运算符也只能处理整数类型的运算,支持的算术运算符有(++与--运算符在expr --help命令中未找到)
下面给出expr工具的用法示例(& | 另行查看使用方法),注意:运算符的左右一定要有一个空格
let工具
示例
编程指引
在算术运算中,尽量采用expr工具与变量赋值的方式对变量进行操作,如
参考:
[1] https://bash.cyberciti.biz/guide/Perform_arithmetic_operations
Last updated
Was this helpful?