日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell脚本笔记(三)shell中的数学计算

發(fā)布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell脚本笔记(三)shell中的数学计算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

shell中的數(shù)學計算

一、使用方括號

#!/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)) #產(chǎn)生一個不大于60的隨機數(shù)

三、bc的用法

bc技術(shù)器實際上是一種編程語言,它可以識別:

數(shù)字(整數(shù)和浮點數(shù))
變量(簡單變量和數(shù)組)
注釋(以#C語言中的/* */開始的行)
表達式
編程語句(例如if-then語句)
函數(shù)

浮點運算是由內(nèi)建變量scale控制的。必須將這個值設(shè)置為你希望在計算結(jié)果中保留的小數(shù)
位數(shù),否則無法得到期望的結(jié)果。

$ bc -q 3.44 / 5 0 scale=4 3.44 / 5 .6880 quit $

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

方式二,使用內(nèi)聯(lián)輸入,格式:

variable=$(bc << EOF
options
statements
expressions
EOF
)

var1=10.46 var2=43.67 var3=33.2 var4=71 var5=$(bc << EOF scale = 4 a1 = ( $var1 * $var2) b1 = ($var3 * $var4) a1 + b1 EOF )

?三、Shell中產(chǎn)生隨機數(shù)的方法

1)通過系統(tǒng)變量RANDOM

#范圍:0~3267,因此用于加密時加密性不太好 echo $RANDOM

2)通過openssl產(chǎn)生隨機字符串

openssl rand -base64 8

3)通過date產(chǎn)生

date +%s%N

4)通過/dev/urandom配合chksum

head /dev/urandom|cksum

四、常見用法

expr $a + 1 &> /dev/null #判斷是否為數(shù)字的方法 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

?

轉(zhuǎn)載于:https://www.cnblogs.com/Shadowplay/p/8310290.html

總結(jié)

以上是生活随笔為你收集整理的Shell脚本笔记(三)shell中的数学计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。