15장. 산술 확장(Arithmetic Expansion)

산술 확장은 스크립트에서 산술 연산을 수행할 때 강력한 기능을 제공해 줍니다. 문자열을 산술식으로 변환하는 것은 역따옴표이중 소괄호, let을 써서 비교적 간단하게 수행할 수 있습니다.

산술 확장의 다양한 구현(Variations)

역따옴표로 산술 확장 하기(종종 expr과 같이 쓰입니다)

z=`expr $z + 3`          # 'expr' 이 확장을 해 줍니다.

let, 과 이중 소괄호로 산술 확장 하기

이제는 산술 확장에서 역따옴표를 쓰지 않고 이중 소괄호($((...)))나 아주 편한 let을 씁니다.
z=$(($z+3))
# $((EXPRESSION)) 는 산술 확장입니다.
# 명령어 치환과 헷갈리면 안 됩니다.

let z=z+3
let "z += 3"  # 쿼우트를 해 주면, 빈 칸를 비롯해서 특수한 연산자의 사용이 가능해 집니다.
# 'let' 은 실제로는 산술 확장을 하지 않고 산술 평가(arithmetic evaluation)를 합니다.
이상의 모든 것들은 동일합니다. "입맛에 맞게" 골라 쓰면 됩니다.

스크립트에서 산술 확장이 쓰이는 예제들:

  1. 예 12-6

  2. 예 10-13

  3. 예 26-1

  4. 예 26-4

  5. 예 A-12