最終的には、浮動小数点数に関しては、bashがひどく辛抱強くないからです。
それはあなたが何かより大きい1.3 Mbのかどうかを判断しようとしたりしていないように見える、これは正しいです:ここでは非常に簡単に言えば、私はあなたが2つのうちのいずれかを行うことをお勧め?このような場合は、その後、あなたはそれを持っている方法のすべてを残して、ちょうど$sm
のためのKBを使用して、このよう
を比較:の計算のために
#/bin/bash
mk="p"
km="p"
sm="1400"
ms="1300"
if [[ $mk == $km ]]
then
if [ $sm > $ms ]
then
echo "Greater than 1.3M"
else
echo "Less than 1.3M"
fi
else
echo "Not yet M...."
fi
または
使用bc
浮動小数点数...
# /bin/bash
mk="p"
km="p"
sm="1.4"
ms="1.3"
if [ $(echo "$mk == $km" | bc) ]
then
if [ $(echo "$sm > $ms" | bc) ]
then
echo "Greater than 1.3M"
else
echo "Less than 1.3M"
fi
else
echo "Not yet M...."
fi
もう一つ注意しなければならないのは、私のコードからわかるように、論理的な文字と数字をブール値と比較演算で使用するのではなく、データで新しい変数を準備しています。また、一時的にいくつかの条件で動作するかもしれませんが、bashはすべての変数名を小文字にすることを好みます。あなたに質問がある場合は私に教えてください。しかし、私は両方のコードチャンクをテストして、両方とも正常に動作します。
ああ...右...私はそれを行うことができます。ありがとう。しかし、バッシュはフレンドリーではありませんか? :( –
Bashは絶対に浮動小数点を扱うことができます。操作、比較、算術演算を行うには、コードをもっと必要とします。浮動小数点を使用する必要がある場合は、オフィスに入るとすぐに私はコードを書き直し、bcを使っていくつかの行を追加します。そして比較を行うためのいくつかの追加ステップとプロセスがあります。 教えてください。 – Matty
私はキロバイトあなたが自由な時間を持っていれば、私に浮動小数点数に関する行をbashで渡してください... :) –