Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370405
  • 博文数量: 75
  • 博客积分: 1486
  • 博客等级: 上尉
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-22 18:38
个人简介

...

文章分类
文章存档

2023年(1)

2021年(3)

2020年(2)

2018年(1)

2017年(1)

2016年(10)

2015年(34)

2011年(14)

2010年(9)

分类: LINUX

2015-06-26 11:22:21

1、let

该命令可以直接执行基本的算数计算。当使用let时,变量名之前不许要再添加$。

let   result=num1+num2

  1. #!/bin/bash  
  2. a=5  
  3. b=6  
  4. let result=a*b  
  5. echo $result  
  6. let result*=result #注意此行,变量与符号之间不能有空格  
  7. echo "the result is $result"
结果为

30

the result is 900

2、操作符[]

result=$[num1+num2 ]注意等号两边不能有空格

在[]中也可以用$前缀。

  1. <span style="font-family:Microsoft YaHei;font-size:16px;">#!/bin/bash  
  2. a=5  
  3. b=6  
  4. result=$[a+b ]  
  5. echo "The result is $result"  
  6. result=$[$a+$a ]  
  7. echo "the result is $result"</span>  
结果为

The result is 11

the result is 10

3、使用(())也可以进行计算,但在使用(())时,变量名前需要加上$

result=$((num1 +num2 ))


  1. <span style="font-family:Microsoft YaHei;font-size:16px;">#!/bin/sh  
  2. num1=5  
  3. num2=6  
  4. result=$((num1+num2))  
  5. echo "the result is $result"  
  6. </span>  
结果为:

the result is 11

4、expr同样可以用于基本的数据操作

result=`expr4+5`

result=$(expr$num1+2)

实例:

  1. <span style="font-family:Microsoft YaHei;font-size:16px;">#!/bin/sh  
  2. num1=5  
  3. num2=6  
  4. result=$(expr$num1 + $num2) #注意$num1和$num2与+之间一定要有空格  
  5. echo "the result is $result"</span>  
结果为:

the result is 11

以上这些方法只能用与整数的计算,而不支持浮点数的计算

备注

bc是一个用于数学运算的高级工具。这是一个精密计算器包含了大量的选项。我们可以借助它执行浮点数运算,并应用一些高级函数

echo "4*6.4" |bc

设定小数精度。参数scale=2将小数位数个数设置为2

echo "scale=2;13/8" | bc

1.62

用bc进行进制转换。进制转换设置参数obase=进制数。

  1. <span style="font-family:Microsoft YaHei;font-size:16px;">#!/bin/bash  
  2. no=100  
  3. echo "obase=2;$no" |bc  
  4. no=111111  
  5. echo "obase=10;ibase=2;$no" |bc</span>  
结果为:

1100100

63

用bc计算平方及平方根

echo "sqrt(100)" |bc

10

echo "10^10" |bc

10000000000


文章地址:http://www.cnblogs.com/linuxer/archive/2012/06/20/2870518.html


阅读(1169) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~