Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 s 加 1 可以写作:let "s = $s + 1" 或者 s=`expr $s + 1‘
两者的写法没都很简单,但是性能的比较可以来实例给大家演示一下:
1、expr脚本与执行时间:
-
#!/bin/bash
-
s=0
-
while [ $s -lt 10000 ]
-
do
-
s=`expr $s + 1`
-
echo $s >>/dev/null 2>&1
-
done
-
-
-
[root@xaosa ~]# time sh expr.sh
real 0m50.776s
user 0m11.528s
sys 0m39.601s
-
2、let脚本与执行时间:
-
#!/bin/bash
-
s=0
-
while [ $s -lt 10000 ]
-
do
-
let "s = $s + 1"
-
echo $s >>/dev/null 2>&1
-
done
-
-
[root@xaosa ~]# time sh let.sh
-
-
real 0m0.875s
user 0m0.676s
sys 0m0.199s
通过上面两个例子,不言而喻,很明显 let以超高的优势获胜,let快expr 几十倍!
阅读(1799) | 评论(0) | 转发(0) |