shell-5-算数运算(算数展开‘(())’双括号语法)

简介:

在$(( ))语法中,shell 提供了完整的算数运算能力,而且使用与c相同运算符与优先级。

语法:

((表达式1,表达式2…))

特点:

1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。

2、在双括号结构中,所有变量可以不加入:“$”符号前缀。

3、双括号可以进行逻辑运算,四则运算

4、双括号结构 扩展了for,while,if条件测试运算

5、支持多个表达式运算,各个表达式之间用“,”分开

参考这篇文章

http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html



算数运算符表

运算符                 意义                          顺序           优先级 
++ --           增加或减少,可前置或后置        左至右         高排至低排
+ - ! ~         一元的的正负号,逻辑位与取反    右至左             
* / %           乘法,除法,取余                左至右
+ -             加法,减法                      左至右
<< >>           向左移位,向右移位            左至右
< <= > >=       小于 小于等于,大于 大于等于 左至右
== !=           相等,不等                     左至右
&  |            位的AND,位的OR       左至右
&& ||           逻辑的AND,逻辑的O
? :        条件表达式          右至左
= += -+ /= 
%= &= |= 
<<= >>= ^=      赋值运算符                   右至左

关系运算符
< <= > >= == !=  产生数字结果,1表示为真,0表示为假,例如
[root@master ~]# echo $((1==1))
1
[root@master ~]# echo $((1!=1))
0

逻辑运算符
&& 逻辑与 || 逻辑或 ,任何非零的值为真 1,相反则为假 0
[root@master ~]# echo $(( (1==1) || (1==0) ))        # 1 或 0 为 1
1
[root@master ~]# echo $(( (1==1) && (1==0) ))        # 1 与 0 为 0
0

赋值运算符
[root@master ~]# i=1;echo "$((i++)) $i"              #i++后置式,变量最后+1
1 2
[root@master ~]# i=1;echo "$((++i)) $i"              #++i前置试,变量先+1
2 2


本文转自 dongnan 51CTO博客,原文链接: 

http://blog.51cto.com/dngood/615178



相关文章
|
29天前
|
Shell 程序员 Linux
【Shell 编程指南】shell运算操作符之(())
【Shell 编程指南】shell运算操作符之(())
19 0
|
1月前
|
算法 Shell Linux
【Shell 命令集合 文档编辑 内建命令】Linux数值运算和赋值操作 let命令使用指南
【Shell 命令集合 文档编辑 内建命令】Linux数值运算和赋值操作 let命令使用指南
26 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 文档编辑】Linux 种算术运算 expr命令使用指南
【Shell 命令集合 文档编辑】Linux 种算术运算 expr命令使用指南
25 0
|
3月前
|
Shell Windows Perl
Shell编程自动化之数学运算与条件测试
本文主要介绍了Shell编程自动化之数学运算与条件测试,并结合实例测试。
25 0
|
8月前
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
89 0
|
4月前
|
Kubernetes Shell Linux
linux|shell编程|shell脚本内的加减乘除运算实现和π值的计算示例
linux|shell编程|shell脚本内的加减乘除运算实现和π值的计算示例
72 0
|
8月前
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
92 0
|
8月前
|
Shell
SHELL运算操作符与运算命令、原码、补码、反码
原码:最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。 反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。 补码:正数的补码与原码一致,负数的补码是对原码按位取反加1,符号位不变
69 0
|
8月前
|
Shell Linux Perl
Shell 基本(整数、小数、浮点数)运算($[]、$(())、let、expr、awk、bc)
Shell 基本(整数、小数、浮点数)运算($[]、$(())、let、expr、awk、bc)
127 0
|
10月前
|
Shell
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
56 0