Linux shell编程(三)算术运算
例如: echo $((${j:-8} 2)) 如果变量j不存在或空值,则${j:-8}展开的结果为8,再和2做加法运算,得10 例如: echo $((k 4)) 如果变量k不存在或空值,其值为0 4=4 一.算术扩展 算术扩展的语法是:$((表达式)) 例如: unset i echo $((12 $i)) 如果表达式内有变量,该变量名称之前最好不要加上$这个符号 变量i不存在,结果就变为12 如果写成:echo $((12 i)),这样可正确执行. 如果表达式中有“变量扩展”,则要加上$ 例如:$((${j:-8} 2)) 各种简单的算术运用: r=$((6 5)) r的值为11 r=$((6*5)) r的值为30 r=$((2**5)) r的值为32 (2的5次方) 递增 1 r=6 r=$(( r)) echo $r 结果为7. (r值加1后,在赋值给r) 递减 1 r=6 r=$((--r)) echo $r 结果为5. (r值减1后,在赋值给r) 运算后减 1 m=6 r=$((4 m--)) m值先代入6,和4做运算,得值为10,在赋值给r.接着m的值减1,结果为:r=10 m=5 位左移 m=16 r=$((m<<1))
位右移 m=16 r=$((m>>1)) 等于把值缩小2倍,结果为:8
i=168 ((i =60)) i =60的意思同于i=i 60,即i加上60后,把运算结果赋值给i,i的值变成228 ((i-=60))的意思同于i=i-60 ((i/=2))的意思同于i=i/2 (())的用法和let的效果是一样的,例如((i ))和let "i "执行结果相同 二. 使用$[]做算术运算 使用$[]做算术运算和$(())类似 语法:r=$[算术式] r=5 r=$[r 1] echo $r 结果为:6 三. 使用内置命令declare、let做算术运算 declare -i I
echo $I 使用declare事先设定变量I的属性为“整数” I是整数,8 16就不再是字符串,而是一个算式,结果为:24 特别留意的是: 算式中,运算符和操作数之间不可以有空格,要紧密连接 特殊符号不必使用转义 算式中,可包含其他变量,变量之前不必加$ 使用declare -i 设定变量后,加减乘除等运算就非常直观了 declare -i I I=8 16 I=16-8 I=5*3 I=22/5 I=2**3 let的用法 例如:let I=8 16 let I=22/5 let I=''16-8''
本文出自 “我的地盘听我的” 博客,请务必保留此出处http://2614223.blog.51cto.com/2604223/579227
|
||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |