1、使用bash
使用雙括號可以像C語言一樣直接使用運算符進行計算。
echo $((1+20)) a=$((2*4)) echo $a b=$(($a-3)) echo $b d=$(($b/2)) echo $d e=$(($a%5)) echo $e
2、使用let命令
使用let命令后,可以直接跟表達式,不用加雙括號。
let a=1+2 echo $a let b=$a*3 echo $b let c=$b/4 echo $c
3、使用expr命令
類似於let命令,expr命令除了計算表達式,還將提供的表達式的值打印到標准輸出。以及使用expr進行比較,增加變量值和查找字符串長度。
expr 3 + 5 expr 15 % 3 expr 5 \* 3
expr 5 - 3
expr 20 / 4
NUM=$(( 1 + 2))
echo $NUM
NUM=$(expr $NUM + 2)
echo $NUM
需要注意的是使用expr命令時,數字與運算符之間要用空格隔開。並且”*“需用轉義符“\”標注。
expr 還可以用來比較大小,當表達式求值為false時,expr將打印值0,否則打印1。
expr 5 = 3 expr 5 = 5 expr 8 != 5 expr 8 \> 5 expr 8 \< 5 expr 8 \<= 5
同時expr可以用來查看字符串長度。
expr length "hello world!"
#等效於
echo "hello world!" | wc -L
更多expr用法請參照man expr。
4、使用bc命令
bc其實就是一個基於終端的計算機程序,有交互和非交互兩種使用方式。
直接輸入bc就可以進入交互模式,在里面輸入表達式即可。
同時也可以通過管道來使用。
echo '3+4' | bc echo '3*4' | bc echo '33/4' | bc echo '32%6' | bc echo '33/6' | bc -l
-l 用於精確到小數(默認小數點后20位)計算。
5、使用awk命令
awk非常強大,功能也非常多,這里只介紹其用於算數運算。
awk 'BEGIN { a = 10; b = 3; print "(a + b) = ", (a + b) }' awk 'BEGIN { a = 10; b = 3; print "(a - b) = ", (a - b) }' awk 'BEGIN { a = 10; b = 3; print "(a * b) = ", (a * b) }' awk 'BEGIN { a = 10; b = 3; print "(a / b) = ", (a / b) }' awk 'BEGIN { a = 10; b = 3; print "(a % b) = ", (a % b) }'
6、使用factor命令
factor命令用於將整數分解為素數因子
factor 21 factor 242 factor 2123 factor 200