其他分享
首页 > 其他分享> > 双小括号数值运算

双小括号数值运算

作者:互联网

双小括号的作用是进行数值运算与数值的比较,它的效率很高,用法很灵活,是经常采用的操作符。 ((i=i+1)) 它的作用就是把i+1的结果赋值给变量i。注意,不可以用 echo ((i=i+1)) 的形式输出表达式的值,但可以用echo $((i=i+1)) 输出其值。 i=$((i+1)) 作用就是把i+1的执行结果赋值给变量i。 ((8>7&&5==5)) 用于数值之前的比较,用于条件判断。 echo $((2+1)) 用于直接输出运算表达式的结果,在(()) 前面加$符号。   范例1.利用(()) 进行简单的数值计算 [root@testdb ~]# echo $((1+1)) 2 [root@testdb ~]# echo $((6-3)) 3 [root@testdb ~]# ((i=5)) [root@testdb ~]# ((i=i*2)) [root@testdb ~]# echo $i 10     范例2.利用(())进行稍微复杂一些的综合算术运算 [root@testdb ~]# ((a=1+2**3-4%3)) [root@testdb ~]# echo $a 8 [root@testdb ~]# b=$((1+2**3-4%3)) [root@testdb ~]# echo $b 8 [root@testdb ~]# echo $((1+2**3-4%3)) 8 [root@testdb ~]# a=$((100*(100+1)/2)) [root@testdb ~]# echo $a 5050 [root@testdb ~]# echo $((100*(100+1)/2))  5050   范例3.特殊运算符号的运算小示例 [root@testdb ~]# a=8 [root@testdb ~]# echo $((a=a+1)) 9 [root@testdb ~]# echo $((a+=1)) 10 [root@testdb ~]# echo $((a**2)) 100   范例4.利用(())双括号进行比较判断 [root@testdb ~]# echo $((3<8)) 1 [root@testdb ~]# echo $((8<3)) 0 [root@testdb ~]# echo $((8==8)) 1 [root@testdb ~]# if ((8>7 && 5==5)) > then > echo yes > fi yes   范例5.在变量前后使用--和++特殊运算符的表达式 [root@testdb ~]# a=10 [root@testdb ~]# echo $((a++)) 10 [root@testdb ~]# echo $a 11 [root@testdb ~]# a=11 [root@testdb ~]# echo $((a--)) 11 [root@testdb ~]# echo $a 10 [root@testdb ~]# a=10 [root@testdb ~]# echo $a 10 [root@testdb ~]# echo $((--a)) 9 [root@testdb ~]# echo $a 9 [root@testdb ~]# echo $((++a)) 10 [root@testdb ~]# echo $a 10   [root@testdb ~]# myvar=99 [root@testdb ~]# echo $((myvar+1)) 100 [root@testdb ~]# echo $(( myvar + 1 )) 100 [root@testdb ~]# myvar=$((myvar+1)) [root@testdb ~]# echo $myvar 100   范例6.通过(())运算赋值给变量 [root@testdb ~]# myvar=99 [root@testdb ~]# echo $((myvar+1)) 100 [root@testdb ~]# echo $(( myvar + 1 )) 100 [root@testdb ~]# myvar=$((myvar+1)) [root@testdb ~]# echo $myvar 100   范例7.包含(()) 的各种常见运算符命令的执行示例 [root@testdb ~]# echo $((6+2)) 8 [root@testdb ~]# echo $((6-2)) 4 [root@testdb ~]# echo $((6*2)) 12 [root@testdb ~]# echo $((6/2)) 3 [root@testdb ~]# echo $((6%2)) 0 [root@testdb ~]# echo $((6**2)) 36   范例8.各种(())运算的shell脚本示例 [root@testdb ~]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b))" echo "a+b=$(($a+$b))" echo "a*b=$(($a*$b))" echo "a/b=$(($a/$b))" echo "a**b=$(($a**$b))" echo "a%b=$(($a%$b))" [root@testdb ~]# sh test.sh a-b=4 a+b=8 a*b=12 a/b=3 a**b=36 a%b=0   范例9.范例8改写成脚本传参的形式 [root@testdb ~]# cat test.sh  #!/bin/bash a=$1 b=$2 echo "a-b=$(($a-$b))" echo "a+b=$(($a+$b))" echo "a*b=$(($a*$b))" echo "a/b=$(($a/$b))" echo "a**b=$(($a**$b))" echo "a%b=$(($a%$b))" [root@testdb ~]# sh test.sh 8 2 a-b=6 a+b=10 a*b=16 a/b=4 a**b=64 a%b=0 [root@testdb ~]# sh test.sh 10 2 a-b=8 a+b=12 a*b=20 a/b=5 a**b=100 a%b=0

标签:10,运算,数值,echo,testdb,小括号,myvar,100,root
来源: https://www.cnblogs.com/liang545621/p/12610973.html