私はシェルでなぜbashの数値を比較すると「[[10 <2]」が真ですか?
if [[ 10 < 2 ]];
then echo "yes";
else echo "no";
fi
を実行すると、それはyes
を返します。どうして?それはno
でしょうか? そして、私は
if [[ 20 < 2 ]];
then echo "yes";
else echo "no";
fi
を実行すると、それはno
を返します。
私はシェルでなぜbashの数値を比較すると「[[10 <2]」が真ですか?
if [[ 10 < 2 ]];
then echo "yes";
else echo "no";
fi
を実行すると、それはyes
を返します。どうして?それはno
でしょうか? そして、私は
if [[ 20 < 2 ]];
then echo "yes";
else echo "no";
fi
を実行すると、それはno
を返します。
あなたがLexicographical orderではなく数字
に応じて文字列を比較するので、あなたは[[ 10 -lt 2 ]]
と[[ 20 -lt 2 ]]
を使用することができます。 -lt
はを表し、(<
)未満を表します。 の場合は、(>
)-gt
以上の表記を使用することができます。 bashの二重括弧で
は数値比較を行うために、同様に使用することができます。
if ((10 < 2)); then echo "yes"; else echo "no"; fi
上記の例ではno
あなたが質問をした場合、インターフェイスは、検索のシリーズを示している必要がありますをエコーします同様の質問の結果。ヘッダーにフラグが立てられているものはありませんでしたか? –