シェルスクリプトで演算を行う時、exprコマンドでは
i=0
x=`expr $i + 1 `
のような簡単な計算はできるんですが、平方根などの複雑な計算をexprで行うことはできません。
そこで、bcを利用します。すると、複雑な計算式でも計算できるようになります。
bcは与えられた計算式の答えを返してくれるので、echoで出力した計算式の文字列をパイプでbcに渡してやって、その結果を変数に代入します。
例えば、以下のように利用します。
x=10
w=100
y=`echo "sqrt("$x"*"$w"/4)"|bc`
これはC言語で言うと、
int x=10;
int w=100;
y=sqrt(x*w/4)
と同じ計算になります。
これで大抵の演算はできるようになります。
i=0
x=`expr $i + 1 `
のような簡単な計算はできるんですが、平方根などの複雑な計算をexprで行うことはできません。
そこで、bcを利用します。すると、複雑な計算式でも計算できるようになります。
bcは与えられた計算式の答えを返してくれるので、echoで出力した計算式の文字列をパイプでbcに渡してやって、その結果を変数に代入します。
例えば、以下のように利用します。
x=10
w=100
y=`echo "sqrt("$x"*"$w"/4)"|bc`
これはC言語で言うと、
int x=10;
int w=100;
y=sqrt(x*w/4)
と同じ計算になります。
これで大抵の演算はできるようになります。