정확히는 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
'Linux' 카테고리의 다른 글
[LINUX] bash 쉘 명령행 편집키 정리 (0) | 2022.12.12 |
---|---|
[LINUX] getopts 를 이용하여 쉘스크립트 옵션 사용하기 (0) | 2022.10.06 |
[LINUX] 정수 비교연산시 let 과 test 의 차이 (0) | 2022.08.17 |
[LINUX] 문자열 표현식 판단 test, 싱글브라켓, 더블브라켓 차이 (0) | 2022.08.17 |
[LINUX] 헷갈리는 표현식 및 정수연산방법 (0) | 2022.08.09 |