`[[ $a -lt 2 ]]` と `(( $a < 2 ))` の違い

`[[ $a -lt 2 ]]` と `(( $a < 2 ))` の違い

[[ $a -lt 2 ]]とを使用することに大きな違いはありますか(( $a < 2 ))

たとえば、一方が他方よりも速いか、POSIX仕様に準拠していますか?

ベストアンサー1

POSIX規格でもありません。 POSIXシェルでは、次のコマンドを使用できます[ "$a" -lt 2 ]表現する $(( a < 2 ))

bash前者は、サポートされている条件式の上位セットをサポートする条件付きコマンドですが、後者は、含まれる算術式がゼロでない場合は状態0で[終了し、そうでなければ1で終了するスタンドアロンコマンドです。読みやすさを除いて正しく使用すると、2つの間に大きな違いはありません。

おすすめ記事