##最近のこと
最近大学の授業でシェルスクリプトで処理を自動化することが増えました。そこで小数演算したいなと思ったんですけどシェルスクリプト自体は整数の計算しか扱うことができないの!?となったのでいろいろ調べてできたのでそれのメモです!
##小数演算のやり方
###bc
コマンドを使う!
bc
コマンドは簡単に言うと数値計算を行うコマンドです。
整数、小数の計算はもちろん三角関数など複雑な計算もできます。
下の sample.sh が小数演算を行うプログラム例です。
sample.sh
#!/bin/sh
x=10
y=`echo "scale=5; $x / 3.0" | bc`
echo "$y"
出力は下のようになりました。
$./sample.sh
3.33333
大成功です。
少し説明すると、scale=5
というのは小数点以下の出力桁を決めています。sample.sh では 5桁にしています。bc
コマンドで出た結果をecho
で取り出してやって y に入れるみたいな感じですね。
あと 1未満の結果になると.333
のように0が出力されないようですが、一応小数として認識できるみたいなので問題ないはずです(本当か?)。