`[[ $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이 아니면 상태 0으로 종료되고 그렇지 않으면 1로 종료되는 독립 실행형 명령입니다. 가독성을 제외하고 올바르게 사용하면 둘 사이에는 큰 차이가 없습니다.

관련 정보