June 16, 2005

BASH Arithmetic Evaluation

BASH 中 (( )) 表示數值運算, 介紹一些數值的表示法

((C=A+B)) 等於 let C=A+B 等於 C=$((A+B)) 等於 C=$(($A+$B))
((A++)) 等於 let A++ 等於 A=$((A+1)) 等於 A=$(($A+1)), 其他類似的寫法如 A--, ++A, --A
((B=B+A)) 可以寫成 ((B+=A)), 其他類似的寫法如 ((B-=A)) ((B*=A)) ((B/=A))
條件式
((A>B)) 等於 [ $A -gt $B ]
((A==B)) 等於 [ $A -eq $B ] 等於 [ $A = $B ] (兩數值一樣時, 當作字串比對還是一樣)
((A!=B)) 等於 !((A==B)) 等於 ! [ $A -eq $B ] 等於 [ $A != $B ]

所有 comparison > < >= <= == !=
乘羃 ** 如 let A=2**10
餘數 % 如 let A=100%3
數字前加 0 表示八進位, 如 010
數字前加 0x 表示十六進位, 如 0x10

PS. BASH 數值表示範圍 -(2^63) ~ 2^63-1
即 -9223372036854775808 ~ 9223372036854775807

Posted by pank at June 16, 2005 02:00 AM
Comments
Post a comment













Remember personal info?