Shell中数学计算/运算】的更多相关文章

shell中的赋值和操作默认都是字符串处理. 1)使用let(只能进行整数运算)var=1let "var+=1"echo $var输出结果为2 注意:a)let几乎支持所有的运算符b)方幂运算应使用“**”c)参数在表达式中直接访问,不必加$d)一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上e)let后的表达式只能进行整数运算 2)使用(())var=1((var+=1))echo $var输出结果为2注意:(())的使用方法与let完全相同 3)使用…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵.   1.错误方法举例   a)   var=1+1   echo $var   输出的结果是1+1,悲剧,呵呵      b)   var=1   var=$var+1   echo $var   输出结果是1+1,依然悲剧,呵呵      2.正确方法   1)使用let   var=1   let "var+=1"   echo $var   输出结果为2,这…
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, 这就使得在shell中进行数学计算比较复杂, 以下直觉上貌似正确的方法是不对的: #第一种错误方法 $ var=+ #第二种错误方法 $ var= $ var=$var+ 以上两种方法的输出结果都是1+1 , 而不是我们期望的2 . 在shell中进行数学计算可以通过以下方法来进行: 1. decl…
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78的四则运算及求模结果       2> 使用bc实现小数运算操作:以交互方式计算12.34与56.78的四则运算结果,另外再以非交互方式重复上述计算,最多显示4位小数 步骤: 1)使用expr命令 乘法操作应采用 \* 转义,避免被作为Shell通配符:参与运算的整数值与运算操作符之间需要以空格分开,引…
By francis_hao    Oct 2,2017   本文摘录自bash的man手册.   算数运算相关的形式 形式 含义 ((expression)) expression按照下面描述的算术运算规则进行运算.如果最终结果是非0的,返回0.其他结果返回1.该形式和let "expression"等同 let arg [arg ...] 每个arg都是一个算数表达式,如果最后一个arg结果是非0的,返回0,其他结果返回1.   算数扩展 算数扩展允许计算算数表达式,并替换该结果.…
对于基本运算,可以使用let, $(())和$[] 对于高级运算,使用expr和bc这两个工具 [hupeng@hupeng-vm shell]$n1= [hupeng@hupeng-vm shell]$n2= [hupeng@hupeng-vm shell]$let res=n1+n2 #let的使用 [hupeng@hupeng-vm shell]$echo $res [hupeng@hupeng-vm shell]$let res=n1*n2 [hupeng@hupeng-vm shell…
加法 echo $((a+b)) expr $a + $b let "a=1+2";echo $a a=;let "a+=10";echo $a echo "1+2" | bc -l -q 减法 echo $((a-b)) let "a=1-2";echo $a a=;let "a-=50";echo $a expr $a - $b echo "3-2" | bc -l -q 乘法 ec…
year=44 1.let,不需要$引用变量 let m=year+3 echo $m 2.(()) m=$((year+3)) 3.[  ],注意两边一定要有空格 m=$[ year+3 ] 4. bc,可以实现高精度的运算:echo 3+4|bc m=$(echo ${year}+12|bc) 5. expr,一定要注意不要漏掉空格 m=`expr $year + 2`…
1:Math类 2.BigInteger类  3.BigDecimal类 BigInteger bi = new BigInteger("12433241123"); BigDecimal bd = new BigDecimal("12435.351"); BigDecimal bd2 = new BigDecimal("11"); System.out.println(bi); // System.out.println(bd.divide(b…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵 1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2.正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2,这次没有悲剧 注意: a)经我测试let几乎支持所有的运算符,在网上看到一篇文章…