シェルスクリプトで2つの浮動小数点数を比較したいと思います。次のコードは機能しません。
#!/bin/bash
min=12.45
val=10.35
if (( $val < $min )) ; then
min=$val
fi
echo $min
ベストアンサー1
Bashは浮動小数点演算を理解していません。小数点を含む数値を文字列として扱います。
代わりにawkまたはbcを使用してください。
#!/bin/bash
min=12.45
val=10.35
if [ 1 -eq "$(echo "${val} < ${min}" | bc)" ]
then
min=${val}
fi
echo "$min"
数学の多くを計画している場合は、PythonやPerlを使用することをお勧めします。