シェルで浮動小数点数の比較をする方法は何ですか?
シェルスクリプトでは、bcコマンドを使用して浮動小数点数を比較することができます。
#!/bin/bash
# 浮点数比较函数
function float_compare() {
echo "$1 > $2" | bc -l
}
# 测试比较
float1=1.23
float2=3.14
result=$(float_compare $float1 $float2)
if [ $result -eq 1 ]; then
echo "$float1 大于 $float2"
elif [ $result -eq 0 ]; then
echo "$float1 等于 $float2"
else
echo "$float1 小于 $float2"
fi
上記の例では、float_compare関数は2つの浮動小数点数を引数として受け取り、比較式をbcコマンドに渡して比較結果を返します。その後、比較結果に基づいてif文を使用して大小関係を判断し、結果を出力します。
– 注意すべき点は、bcコマンドの-lオプションが、浮動小数点演算をサポートするために数学ライブラリを有効にするために使用されることです。