1
でのこのよう割り当ててみましょう:比べて2つのパラメータは、「<」シェル
a=7
b=29
[[ $a < $b ]] && echo dasf
それは動作しません!しかし
、Bおよびコマンドと同じで
a=1
が、それはうまく動作します。
これは非常にファンキーです!誰かがそれを説明できますか?
でのこのよう割り当ててみましょう:比べて2つのパラメータは、「<」シェル
a=7
b=29
[[ $a < $b ]] && echo dasf
それは動作しません!しかし
、Bおよびコマンドと同じで
a=1
が、それはうまく動作します。
これは非常にファンキーです!誰かがそれを説明できますか?
変数は、数値ではなく語彙的に比較しています。
を使用すると、構文エラーを持って、 "シェル" で
[[ $a -lt $b ]] && echo smaller
または
(($a < $b)) && echo smaller
を試してみてください。使用している構文はbashでは有効ですが、汎用シェルでは有効ではありません。 –