![`[[ $a -lt 2 ]]`와 `(( $a < 2 ))`의 차이점](https://rvso.com/image/95775/%60%5B%5B%20%24a%20-lt%202%20%5D%5D%60%EC%99%80%20%60((%20%24a%20%3C%202%20))%60%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90.png)
[[ $a -lt 2 ]]
와 를 사용하는 것 사이에 큰 차이가 있나요 (( $a < 2 ))
?
예를 들어, 그 중 하나가 다른 것보다 빠르거나 POSIX 규격을 더 잘 준수합니까?
답변1
POSIX와도 호환되지 않습니다. POSIX 쉘에서는 다음 명령을 사용할 수 있습니다.[ "$a" -lt 2 ]
다음 명령을 사용할 수 있습니다.표현 $(( a < 2 ))
.
에서 bash
전자는 단순히 지원하는 조건식의 상위 집합을 지원하는 조건부 명령이고 [
, 후자는 포함된 산술식이 0이 아니면 상태 0, 그렇지 않으면 1로 종료되는 독립 실행형 명령입니다. 가독성 외에는 올바르게 사용하면 둘 사이에 큰 차이가 없습니다.