산술 확장을 설명하는 단락에서,배시 사용자 가이드표현식을 평가하는 두 가지 방법, 즉 첫 번째는 을 사용 $(( EXPRESSION ))
하고 두 번째는 를 사용하여 보여줍니다 $[ EXPRESSION ]
. 두 가지 방법 모두 매우 비슷해 보이지만 내가 찾은 유일한 차이점은 다음과 같습니다.
$[ EXPRESSION ]
테스트 없이 EXPRESSION의 결과만 계산됩니다.
그러나 동일한 문서 $[ EXPRESSION ]
에서 $(( EXPRESSION ))
.
가능하다면 Bash 사용자는 대괄호가 포함된 구문을 사용해야 합니다:
테스트 횟수가 적다면 왜 이렇게 하시겠습니까?
답변1
질문 반복(답변 포함)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
Bash v3.2.48의 맨페이지에는 다음과 같이 나와 있습니다.
[...] 산술 확장의 형식은 다음과 같습니다.
$((expression))
이것이전 형식 $[expression]은 더 이상 사용되지 않습니다.향후 bash 버전에서는 제거될 예정입니다.
따라서 $[...]는 오래된 구문이므로 더 이상 사용해서는 안 됩니다.
이 답변 외에도:
http://manual.cream.org/index.cgi/bash.1#27
Bash 버전 관련 정보:
다음은 bash 매뉴얼 페이지에 대한 일부 정보입니다(각 매뉴얼 페이지가 참조하는 버전에 대한 정보를 찾기는 어렵습니다).
OP 링크:
http://www.tldp.org/guides.html Bash 초보자 가이드 버전: 1.11 저자: Machtelt Garrels 최종 업데이트: 2008년 12월
sth (74.6k 담당자)는 bash v3.2.48을 인용합니다.
~에서https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)
참고: [] 및 (())에 대한 자세한 내용은 여기에서 확인할 수 있습니다.http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html
내가 찾은 링크:
http://www.gnu.org/software/bash/manual/ 최종 업데이트 날짜: 2012년 8월 22일
http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion