변수
변수는 기본적으로 값들을 담고 있는 "상자"이다. 당신은 많은 이유로 인해 변수들을 만들고 싶어할 것이다. 사용자 입력, 인자들, 또는 수치 값을 보관하기 위해 변수들이 필요하다. 다음 짧은 코드를 예로 들자:
#!/bin/bash
x=12
echo "The value of variable x is $x"
여기서 한 일은, x의 값을 12로 정한 것이다. echo "The value of variable x is $x"
이라는 라인은 x의 현재 값을 프린트한다. 변수를 정의할 때, 할당 연산자 "=
" 사이에는 공백 문자가 있으면 안 된다. 여기 할당 연산자를 사용하는 문법이 있다:
variable_name=this_value
변수의 값은 변수 이름 앞에 달러 심벌"$
"을 붙임으로써 얻을 수 있다. 위의 예제에서 보듯이, x의 값을 echo $x
를 사용해서 얻을 수 있다.
변수의 타입에는 지역 변수와 환경 변수, 이렇게 두 가지가 있다. 환경 변수들은 시스템에 의해 정해지고 주로 env 명령을 사용해서 볼 수 있다. 환경 변수는 특별한 값을 담고 있다. 예를 들어, 만일 다음과 같이 입력하면:
xconsole$
echo $SHELL
/bin/bash
현재 사용 중인 쉘의 이름을 얻을 수 있다. 환경 변수들은 /etc/profile
과 ~/.bash_profile
안에 정의되어 있다. 환경 변수이든지, 지역 변수이든지 현재 변수 값을 체크할 때 echo 명령이 유용하게 쓰인다. 여전히 왜변수가 필요한지 이해하지 못하겠다면, 여기 좋은 예제가 있다:
#!/bin/bash
echo "The value of x is 12."
echo "I have 12 pencils."
echo "He told me that the value of x is 12."
echo "I am 12 years old."
echo "How come the value of x is 12?"
이제 당신은 x의 값을 12 대신 8로 하기로 결정했다고 하자. 어떻게 하겠는가? "x is 12"라고 되어 있는 모든 라인을 바꿔야만 한다. 잠깐 기다려 보라…숫자 12를 가진 다른 라인들도 있다. 이 라인들도 바꿔야하는가? 아니다. 그것들은 x와 관련이 없으니 그냥 둔다. 좀 복잡한가? 이제, 여기 변수를 사용한 것만 제외하면 똑 같은 예제가 있다:
#!/bin/bash
x=12 #
변수
x
에
값
12
를
대입한다
echo "The value of x is $x."
echo "I have 12 pencils."
echo "He told me that the value of x is $x."
echo "I am 12 years old." echo "How come the value of x is $x?"
여기서, 우리는 $x
가 변수 x의 현재 값, 12를 프린트하는 것을 볼 수 있다. 그래서 만일 x의 값을 8로 바꾼다면, 당신이 해야하는 일은 x=12라고 되어 있는 라인을 x=8로 바꾸는 일뿐이다. 그러면 프로그램은 자동적으로 $x가 있는 라인을 12 대신 8로 바꾸어 보여 줄 것이다. 다른 라인은 바뀌지 않는다. 뒤에서 보겠지만, 변수는 다른 용도로도 중요하게 사용된다.
'경험치바(Experience Opint Bar)' 카테고리의 다른 글
리눅스 종류/버전/배포판 확인하기 (0) | 2016.01.06 |
---|---|
bash 쉘 제어구조 (0) | 2015.12.28 |
bash 쉘 주석 (0) | 2015.12.24 |
bash 쉘 백업 프로그램 (0) | 2015.12.24 |
bash 쉘 명령들 (0) | 2015.12.24 |