Shell脚本笔记(三)shell中的数学计算
生活随笔
收集整理的這篇文章主要介紹了
Shell脚本笔记(三)shell中的数学计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
shell中的數學計算
一、使用方括號
#!/bin/bash a=10 b=29 c=88res=$[$a * ($c-$b)] echo $res二、使用(())
echo $((1+9)) ((i=1+2)) b=$((9-2*2))echo $((a+=1)) echo $((a**2)) #計算a的平方 echo $((8<9)) #輸出1 echo $((i++)) echo $((RANDOM%61)) #產生一個不大于60的隨機數三、bc的用法
bc技術器實際上是一種編程語言,它可以識別:
數字(整數和浮點數)
變量(簡單變量和數組)
注釋(以#或C語言中的/* */開始的行)
表達式
編程語句(例如if-then語句)
函數
浮點運算是由內建變量scale控制的。必須將這個值設置為你希望在計算結果中保留的小數
位數,否則無法得到期望的結果。
bc還能支持變量:
$ bc -q var1=10 var1 * 4 40 var2 = var1 / 5 print var2 2 quit $腳本中使用bc:
方式一:
variable=$(echo "options; expression" | bc)
實例:
#!/bin/bash var1=$(echo "scale=4; 3.44 / 5" | bc) echo The answer is $var1方式二,使用內聯輸入,格式:
variable=$(bc << EOF
options
statements
expressions
EOF
)
?三、Shell中產生隨機數的方法
1)通過系統變量RANDOM
#范圍:0~3267,因此用于加密時加密性不太好 echo $RANDOM2)通過openssl產生隨機字符串
openssl rand -base64 83)通過date產生
date +%s%N4)通過/dev/urandom配合chksum
head /dev/urandom|cksum四、常見用法
expr $a + 1 &> /dev/null #判斷是否為數字的方法 RA=$? expr $b + 2 &> /dev/null RB=$? if [ $RA -ne 0 -o $RB -ne 0 ];thenecho 'one of the input is not num!!!!'exit 1 fi?
轉載于:https://www.cnblogs.com/Shadowplay/p/8310290.html
總結
以上是生活随笔為你收集整理的Shell脚本笔记(三)shell中的数学计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp: jstl标签库 uri标签
- 下一篇: Mysql优化原则_小表驱动大表IN和E