Linux Shell 스 크 립 트 시리즈 튜 토리 얼(7):스 크 립 트 디 버 깅

디버그 스 크 립 트
디 버 깅 기능 은 모든 프로 그래 밍 언어 가 실현 해 야 할 중요 한 특성 중 하나 입 니 다.예상 치 못 한 상황 이 발생 했 을 때 이 를 통 해 스 크 립 트 의 실행 정 보 를 생 성 합 니 다.디 버 깅 정 보 는 어떤 원인 으로 프로그램 이 붕괴 되 거나 행동 이 이상 한 지 알 수 있 습 니 다.
2.Bash 내장 디 버 깅 기능
Bash 의 내장 디 버 깅 기능 을 사용 하면 전체 스 크 립 트 를 디 버 깅 할 수도 있 고 스 크 립 트 의 일부 문구 만 디 버 깅 할 수도 있 습 니 다.
\#set-x 와 set+x 를 사용 하여 스 크 립 트 의 한 문장 을 디 버 깅 합 니 다.

#!/bin/bash
for i in { 1 2 3 4 5 6 };
do
    set -x                         #
    echo $i                        #
    set +x                         #
done
echo "Script executed."

# -x
bash -x script.sh                  # sh -x script.sh
셋째, 사용자 정의 디 버 깅 기능
Bash 에 설 치 된 디 버 깅 기능 은 고정 형식의 디 버 깅 정보 만 출력 할 수 있 지만,많은 경우 에 우 리 는 사용자 정의 형식 으로 디 버 깅 정 보 를 표시 해 야 합 니 다.이것 은DEBUG 환경 변 수 는 이러한 디 버 깅 스타일 을 만 듭 니 다.

# _DEBUG=on bash script.sh
#!/bin/bash
function DEBUG()
{
   [ "$_DEBUG" == "on" ] && $@ || : # _DEBUG
}
for i in { 1 2 3 }
do
    DEBUG echo $i
done     
디 버 깅 정 보 를 인쇄 해 야 하 는 모든 문구 앞 에 있 는 DEBUG 에서DEBUG=on 이 스 크 립 트 를 전달 하면 디 버 깅 정 보 는 인쇄 되 지 않 습 니 다.Bash 에서:셸 에 게 어떠한 조작 도 하지 말 라 고 말 합 니 다.

좋은 웹페이지 즐겨찾기