반응형

모든 프로그래밍 언어???는 변수를 통해서 데이터를 생성, 저장, 변경등을 하게 됩니다. 그만큼 처음 프로그래밍을 함에 있어서 가장 중요한 부분을 변수라고 볼수 있습니다. 보통 C언어나 JAVA의 경우에는 자료형이라는 이름으로 변수를 관리하게 됩니다. 보통 실수형, 정수형, 문자, 문자열 등으로 구분해서 사용하게 됩니다. 그런데 쉘 스크립트의 경우에는 변수에 자료형이라는 개념이 없습니다.

 

어쩌면 이부분이 다른 언어를 사용한 개발자들에게 생소한 방법이겠지만 생각해보면 간단합니다. C언어나 JAVA같은 경우에는 컴파일러를 통하기 때문에 사전에 컴파일러에게 이 변수의 사용목적을 알려주기 위해 사용이 됩니다. 그렇지만 쉘 스크립트는 아주 오래된 인터프리터 언어로서 Line By Line으로 실행이 되기 때문에 이런 과정이 있을 경우에는 실행 시간이 오래 걸리게 됩니다. 물론 요새 나오는 파이썬이나 다른 인터프리터의 경우는 아니지만요 ^^

 

그렇다면 가장 중요하게 생각해야 될 부분은 쉘 스크립트에서 변수를 사용함에 있어서 어떻게 사용하고 이용할 지 계획과 설계를 잘해야 개발 및 유지보수과정에서 어려움을 최소화 할 수 있습니다.

 

그렇다면 간단한 예제 코드를 보고 마무리 하도록 하겠습니다.

 

 #!/bin/bash

A=1234
string_1=hello
string_2='hello world'


echo "A : integer = $A"
echo "string_1 = $string_1"
echo "string_2 = $string_2"

 

아래코드는 정수형 및 문자열 2개를 샘플로 작성했습니다.

첫번째 줄은 어떤 쉘 스크립트를 사용할 지 지정해줍니다. 저는 가장 범용적인 bash를 이용했습니다. 쉘 스크립트는 역사만큼 다양한 종류에 쉘이 있으며 사용방법도 다양한 만큼 여기서는 가장 기본적인 bash 쉘을 기본으로 설명하도록 하겠습니다

 

변수를 대입함에 있어서 bash쉘에서는 절대 공백이 있어서는 안됩니다. 그렇게할 경우 실행과정에서  문제가 발생되는 만큼 유의해 주시기 바라며 나머지는 다른 프로그래밍 언어와 대동소이 합니다. 특이한 점은 perl에서 영향을 받은 점인데 선언할 때는 그냥 해당 변수를 선언해야 되지만 그 변수를 사용함에 있어서는 해당 변수명에 '$'를 붙여야 하는 점을 기억해주시기 바랍니다.

 

끝으로 스크립트 실행 결과 입니다.

 

 root@ubuntu:/shell# ./var.sh
A : integer = 1234
string_1 = hello
string_2 = hello world

 

 

 

반응형

+ Recent posts