Chinaunix首页 | 论坛 | 博客
  • 博客访问: 319249
  • 博文数量: 32
  • 博客积分: 215
  • 博客等级: 入伍新兵
  • 技术积分: 936
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 11:21
个人简介

一个靠社会发展推动我不懈努力的人!

文章分类

全部博文(32)

文章存档

2017年(3)

2016年(4)

2015年(8)

2013年(10)

2012年(7)

分类: LINUX

2013-04-09 16:39:11

Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 s 加 1 可以写作:let "s = $s + 1" 或者 s=`expr $s + 1‘
两者的写法没都很简单,但是性能的比较可以来实例给大家演示一下:

1、expr脚本与执行时间:
  1. #!/bin/bash
  2. s=0
  3. while [ $s -lt 10000 ]
  4. do
  5.        s=`expr $s + 1`
  6.        echo $s >>/dev/null 2>&1
  7. done


  8. [root@xaosa ~]# time sh expr.sh 

    real    0m50.776s
    user    0m11.528s
    sys     0m39.601s
2、let脚本与执行时间:

  1. #!/bin/bash
  2. s=0
  3. while [ $s -lt 10000 ]
  4. do
  5.        let "s = $s + 1"
  6.        echo $s >>/dev/null 2>&1
  7. done

  8. [root@xaosa ~]# time sh let.sh

  9. real    0m0.875s
    user    0m0.676s
    sys     0m0.199s

通过上面两个例子,不言而喻,很明显 let以超高的优势获胜,let快expr 几十倍!

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