2013년 4월 2일 화요일

유닉스 쉘 스크립트 작성시 sub 스크립트 호출 방식에 따른 차이

- 출처  : 본인 작성

유닉스 쉘 실행 방식에 따른 차이점

※ child1.sh
   echo "$A"
   echo "child1 exit"
   exit 0
   
   echo "passed exit" 
 
※ child2.sh
   echo "child2 called"

TEST CASE1) 단순 호출 ※ multi_call_test.sh
    echo "Location : Mail shell"
    A=3
    ## CAll child shell
    child1.sh (또는 sh child1.sh 로 해도 동일 결과) 
    ## Call child2 shell
    child2.sh
    
    # end
    
CASE1 결과)
    prompt> multi_call_test.sh
    Location : main shell
    
    child1 exit
    child2 called 
    

TEST CASE2) . 호출 (호출 쉘 앞에 dot(점,.) 추가) ※ multi_call_test.sh
    echo "Location : Mail shell"
    A=3
    ## CAll child shell
    . child1.sh    
    ## Call child2 shell
    child2.sh
    
    # end
 
CASE2 결과)
    prompt> multi_call_test.sh
    Location : main shell
    3
    child1 exit
 
 
결론) 호출 후 메인 쉘의 동작과 별도로 동작하게 하려면 sh (쉘이름), 메인 쉘과 운명을 같이 하게 하려면 .을 주어 호출




끝.

댓글 없음:

댓글 쓰기