답변1
단일 대괄호는 일반적으로 외부 명령으로 구현되는 전통적인 형식입니다. 이중 괄호는 다음과 같은 bash(및 ksh 및 zsh) 확장입니다.아니요POSIX에서 사용되며 별도의 프로세스를 사용하지 않고 구문이 더 깔끔하다는 장점이 있습니다(아래 참조).
구문 차이점 중 하나는 리디렉션 연산자로 읽히지 않도록 <
and >
연산자(참고: 표준 POSIX 아님)를 이스케이프하거나 따옴표로 묶을 필요가 없다는 것입니다. 또한 [
문자열 중 하나가 비어 있거나 하이픈으로 시작하는 경우에는 몇 가지 트릭이 필요합니다. 이것이 바로 스크립트가 이와 같은 작업을 수행하는 것을 보는 이유입니다 . [ "x$ASD" == xValue ]
반면 bash에서는 간단히 사용할 수 있습니다 [[ $ASD == Value ]]
. 한 가지만 테스트하는 POSIX 호환 명령에는 "x" 트릭이 꼭 필요한 것은 아닙니다.이 문제더 알아보기.