bash スクリプトで整数と浮動小数点を比較しようとしています。私は次のことを試しました:
if [ $? -eq 4.189 ];
4.189 を整数にしたいので、これは機能しません。
if [ $? = 4.186 ];
うまくいくかもしれないと思ったからです。bcもやってみました。これを行う方法に関するヒントはありますか?ここで初心者をバッシュします。本当にありがとう。
注: $? 球の体積を計算する実行可能ファイルからの出力です。
これはうまくいきます
#!/bin/bash
volume=4.189
if [[ $(echo "$volume == 4.189" | bc) -eq "1" ]]; then
echo Equal
else
echo Not Equal
fi
または単にリテラルを引用符で囲みます
#!/bin/bash
volume=4.189
if [[ $volume == "4.189" ]]; then
echo Equal
else
echo Not Equal
fi
浮動小数点を比較するために示した 2 つの方法のうち、推奨されるのは bc を使用することであることに注意してください。4.1890 が 4.189 に等しいことがわかりますが、2 番目の方法はダム文字列の比較であり、比較は等しくありません。