shellscriptで演算の勉強をしたのでまとめます。
演算の書式
基本的には
$(( 演算 ))
$(expr 演算 )
演算子
和 : +
差 : -
積 : $(( * )) か $(expr ¥* )
商 : /
剰余 : %
exprは積の時だけ¥が必要になる。
file.sh
echo $(( 1+1 ))
echo $(( 10 - 5 ))
echo $(expr 3 ¥* 2 )
echo $(expr 6/2 )
echo $(expr 9 % 2 )
shellscriptの演算は結構アバウトみたいで空白があってもしっかり計算してくれるっぽい。
変数の扱い
*var1とvar2があるとして。
$(( var1 + var2 ))
もしくは
$(expr $var1 + $var2 )
変数も空白はあってもなくても読み込まれる。
複雑な計算
文字列をパイプで渡すと計算してくれるbcコマンドを使う。
bcコマンドインストール
yum install bc
インストールしたら、
file.sh
echo '10.5 + 0.3' | bc
などとしてファイルを実行すると結果が帰ってくる。
file.sh
echo 'scale=10;2/3' | bc -l
と書くと小数点が10桁まで表示される。
詳しくはmanなどで確認したほうがいいかも。
間違いがありましたらご指摘ください。
↧