`[[ $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로 종료되는 독립 실행형 명령입니다. 가독성 외에는 올바르게 사용하면 둘 사이에 큰 차이가 없습니다.

관련 정보