shell 使用bc處理浮點數運算

在shell下shell

首先 通常的整數運算能夠用 expr這個命令解決,expr命令通常用於整數值,但也可用於字符串。通常格式爲:
expr argument operator argument
expr也是一個手工命令行計數器。
$expr 10 + 10
20
$expr 1500 + 900
2500
$expr 30 / 3
10
$expr 30 / 3 / 2
5
(注意運算符左右都有空格 ,若是沒有空格表示是字符串鏈接)
使用乘號時,必須用反斜線屏蔽其特定含義。由於shell可能會誤解顯示星號的意義。
$expr 30 * 3
90命令行

 

 

可是shell不能處理浮點數——悲劇啊!!也就是說 while [ 0.1 -le 1] 它會報錯的, 它不知道0.1是啥rest

這個時候要解決兩個問題:字符串

1, 如何計算 0.1 + 0.1,變量

用bc命令啦, 呵呵腳本

這裏有一個簡單的使用 bc 命令的模版能夠用來在計算腳本中的變量. 用在命令替換 中.模版

variable=$(echo "OPTIONS; OPERATIONS" | bc)while

如:interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)字符

也就是說 i=$(echo "0.1 + 0.1"|bc)浮點數

i的值就是0.2了哦

相關文章
相關標籤/搜索