let 與 expr Shell運算比較 let強強勝出


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 幾十倍!

轉自:http://yooma.blog.51cto.com/6965726/1187063/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM