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小时内删除。
发表评论