강좌 & 팁
글 수 2,412
2011.03.20 17:37:33 (*.114.219.251)
51232
bash 에서 변수르 사용하기.
bash 에서의 변수는 타입이 존재 하지 않는다. 즉, 프로그램 랭기지 ( C/C++ 혹은 java) 와 같이 변수의 형을 선언 하여 쓰지 않는다.
bash의 변수는 본질적으로 문자열이며, bash 가 문맥에 따라서 정수 연산이나 변수를 비교를 해 준다.
이 동작을 결정짓는 요소는 그 변수값이 숫자로만 되어 있는냐 아니냐 이다.
변수의 타입이 정해져 있지 않기 때문에, bash 스크립트를 짤 에는 충분히 여러분 마음대로 할 수 있는 유연함이 있지만, 알지 못하는 에러가 생길 수도 있으며 프로그래머가 스크립트에서 쓰이는 변수가 어떤 타입인지 계속 기억하고 있어야 한다.
아래의 예는 숫자는 a 로 선언하고, 문자는 b로 선언하여 연산 처리를 한 부분이다.
a의 숫자에는 1을 더하는 연산을 하였고, b에 선언된 문자열을 치환( 변수/바꿀문자열/바뀔문자열 ) 하는 작업을 하였다.
#!/bin/sh
a=10
b=STRING
echo $a
echo $b
let "a = a+1"
echo $a
c=${b/STRING/TEST}
echo $c
echo "===== END ======"
실행 결과는 다음과 같다.
$ ./b.sh
10
STRING
11
TEST
===== END ======
쉘 프로그램은 변수에 타입이 없어서 많이 해깔리게 됩니다.