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