$((expression))은 산술 확장(arithmetic expansion)이라 해서 수식을 사용할 수 있다. 


그룹핑을 강제하기 위해 표현식 안에서 괄호를 자유롭게 사용할 수 있다.


$((expression))에서 사용할 수 있는 연산자는  +, -, *, /, %, **와 같은 기본 문법에 +=, -=, *=, /=, 변수++, 변수--  등 많은 연산자와 숫자, 변수를 사용할 수 있다. 




예시 1) x진수를 10 진수로 


$ echo $((16#100))

256



예시 2) 간단한 산술 확장


$ i=2

$ echo $((i+1))

3



예시 3) 특정 변수에 산술 계산한 다음 다시 해당 변수에 저장


$ i=$(( i * 5 ))

$ echo $i

10



예시 4) 고급 산술 확장


$ i=3

$ j=2

$ echo $((i = i * (j + 1)))

9




예시 5) ++


$ i=10

$ i=$(( ++i ))

$ echo $i

11



예시 6) *=


$ i=5

$ i=$((i*=5))

$ echo $i

25




예시 7) true(1)/false(0) 


$ i=5

$ j=$(( i < 10 ))

$ echo $j

0






유의할 점은 다음과 같다. 


1. (( 다음에 공백이, )) 전에 공백이 있어도 동작한다. 


$ i=$(( i * 5 ))

$ echo $i

50



2. (( 사이에 공백이 있으면 동작하지 않는다. 


$ i=$( (i * 5) )

-bash: i: command not found






Posted by '김용환'
,