Skip to content

7. 이중 소괄호


let 명령어와 비슷하게 (())(이중 소괄호)도 산술 확장과 계산을 할 수 있다. (())는 C 형태의 변수 조작을 가능하게 해준다.


예제) C 형태의 변수 조작
#!/bin/bash

# "=" 양쪽에 빈 칸을 두어 변수 세팅
((a = 23))
echo "a (initial value) = ${a}"
# a (initial value) = 23

# 'a'를 후위증가
((a++))
echo "a (after a++) = ${a}"
# a (after a++) = 24

# 'a'를 후위감소
((a--))
echo "a (after a--) = ${a}"
# a (after a--) = 23

# 'a'를 전위증가
((++a))
echo "a (after ++a) = ${a}"
# a (after ++a) = 24

# 'a'를 전위감소
echo "a (after --a) = ${a}"
# a (after --a) = 24

# C 형태의 3중 연산자
((t = a < 45 ? 7 : 11))
echo "If a < 45, then t = 7, else t = 11"
echo "t = ${t}"
# If a < 45, then t = 7, else t = 11
# t = 7

exit 0

References