강좌 & 팁
글 수 2,412
2011.05.01 11:14:36 (*.114.219.251)
44681
bash 에서는 명령어를 변수로 받아서 처리 할 수 있도록 치환 하여 처리 할 수 있다.
명령어 치환은 말그대로 한 명령어의 출력을 명령어의 출력을 재할당 해주게 된다.
명령어 치환의 형태는 역따옴표(`...`)를 사용 하는 것이다. 역따옴표 안에 들어 있는 명령어는 명령어 줄에서 쓸 수 있는 텍스트를 만들게 된다.
또한 명령어의 출력은 다른 명령어의 인자로 사용 할 수 있으며, 실행 명령어의 결과를 포함하고 있는 변수를 만들 수 있다.
다음의 예를 살펴 보고 어떻게 명령어 치환이 사용 되는지 알아 보자.
-------- is_dir.sh -----------------------
#!/bin/bash
if [ -d $1 ] ; then
echo "1"
else
echo "0"
fi
-------- is_dir.sh -----------------------
------ cmd_ex.sh ---------------
#!/bin/bash
CMD=`./is_dir.sh /tmp`
if [ $CMD -eq 1 ]; then
echo "/tmp DIR EXIST"
else
echo "/tmp DIR NOT EXIST"
fi
------ cmd_ex.sh ---------------
위의 cmd_ex.sh 에서 CMD라는 변수에 ./is_dir.sh /tmp 의 실행 결과 값을 받아 오는 것을 확인 할 수 있다
실행 결과는 다음과 같다.
$ ./cmd_ex.sh
/tmp DIR EXIST