Linux shell  算术运算符
bash 中执行整数算术运算的命令是let。其语法格式为:
语法格式:
let 参数……
其中,参数是单独的算术表达式。这里的算术表达式使用C 语言中表达式的语法、优先级和结合性。除++、--和逗号之外,所有的整型运算符都得到支持。此外,还提供了方幂运算符**。let命令的替代表示形式是:
((算术表达式))
例如,let "j=i*6+2"等价于((j=i*6+2))。表7 列出了在算术表达式中可用的运算符及其优先级和结合性。
7  bash中的运算符及其优先级和结合性
优先级
运算符
结合性
功能
1
-
+
从右至左
取表达式的负值
取表达式的正值
2
~
从右至左
逻辑非
按位取反
3
**
从左至右
方幂
4
*
/
从左至右
取模
5
+
-
从左至右
6
<<
>>
从左至右
左移若干二进制位
右移若干二进制位
7
>
>=
<
<=
从左至右
大于
大于等于
小于
小于等于
8
= =
!=
从左至右
等于
不等于
9
&
从左至右
按位与
10
^
从左至右
按位异或
11
|
从左至右
linux执行shell命令
按位或
12
&&
从左至右
逻辑与
13
| |
从左至右
逻辑或
14
?:
从右至左
条件计算
15
=
+= -=
*= /=
= &=
^= |=
>>= <<=
从右至左
赋值
运算且赋值
表中运算符优先级是由高到低排列的,即1级最高,15级最低。同级运算符在同一个表达式中出现时,其执行顺序由结合性表示。
在bash表达式中可以使用括号,用来改变运算符的操作顺序,即在运算时要先计算括号内的表达式。
当表达式中有shell的特殊字符时,必须用双引号将其括起来。例如,let "val=a|b"。如果不括起来,shell会把命令行let val=a|b中的“|”看成管道符,将其左右两边看成不同的命令。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。