정확히는 bash 스크립트 디버깅 방법이다.

 

1. bash -n 스크립트파일

스크립트에 문법적 오류가 있는지 확인할 때 사용한다. 스크립트를 해석은 하지만, 실행하지는 않는다.

스크립트에 문법 오류가 있는 경우, 에러 내용을 출력해주고, 문법 오류가 없는 경우 아무런 메시지도 출력하지 않는다.

 

2. bash -x 스크립트파일

스크립트 전체를 디버깅하기 위해 일반적으로 사용되는 방법이다.

순서: 변수 치환 -> 실행되는 스크립트 각 라인 출력 -> 스크립트 실행결과 출력

실행되는 스크립트 각 라인 출력시 맨 앞에 "+" 기호가 붙는다.

 

3. 스크립트 내 set -x, set +x 사용

스크립트 중 일부분만 디버깅하기 위해 일반적으로 사용되는 방법이다.

스크립트 내 디버깅을 시작하고자 하는 부분에 set -x 를, 디버깅을 종료하고자 하는 부분에 set +x 를 삽입하고 일반적인 방법으로 스크립트를 실행하면 된다.

 

예시)

test.sh

#!/bin/bash

name="linux"
if [[ $name == "centos" ]]
then
        printf "Hello $name\n"
fi

set -x # 디버깅 시작지점
declare -i num=1
while (( num < 5 ))
do
        let num+=1
done
set +x # 디버깅 종료지점

printf "Total : %d\n" $num
블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,