bash 디버그
bash -x
$ bash -x
옵션은 디버깅을 위해 사용하는 옵션 전체 디버깅!!
- test_script.sh를 디버깅하고 싶다면 bash -x 옵션으로 실행하자
$ bash -x test_script.sh
- test_script.sh에서 스크립트 지정문에서 -x 옵션
======= test_script.sh ======
#!/bin/bash -x
예시
- test_script.sh
#!/bin/bash
echo "Hello World!"
ls_al="ls -al"
eval $ls_al 1>/dev/null
[ -f $HOME/test_script.sh ] && echo "file exist"
$ bash -x
옵션은 디버깅을 위해 사용하는 옵션 전체 디버깅!!$ bash -x test_script.sh
======= test_script.sh ======
#!/bin/bash -x
#!/bin/bash
echo "Hello World!"
ls_al="ls -al"
eval $ls_al 1>/dev/null
[ -f $HOME/test_script.sh ] && echo "file exist"
2-1. ./test_script.sh "그냥 실행"
$ ./test_script.sh
Hello World!
file exist
2-2. $ bash -x test_script.sh
$ bash -x test_script.sh
+ echo 'Hello World!'
Hello World!
+ ls_al='ls -al'
+ eval ls -al
++ ls -al
+ '[' -f /Users/yangdonghyeon/test_script.sh ']'
+ echo 'file exist'
file exist
set [-/+]x
: 특정 부분 디버그
- set -x: 디버깅 시작점
- set +x: 디버깅 종료점
- 예제 파일
==== test_script.sh ====
#!/bin/bash
FILE_NAME=`basename ${0}`
set -x # 쉘 디버깅 시작
if [ -f $HOME/test_script.sh ] && echo "file exist"; then
echo $FILE_NAME
fi
set +x # 쉘 디버그 종료
- 실행
$ ./test_script.sh
+ '[' -f /Users/yangdonghyeon/test_script.sh ']'
+ echo 'file exist'
file exist
+ echo test_script.sh
test_script.sh
+ set +x
==== test_script.sh ====
#!/bin/bash
FILE_NAME=`basename ${0}`
set -x # 쉘 디버깅 시작
if [ -f $HOME/test_script.sh ] && echo "file exist"; then
echo $FILE_NAME
fi
set +x # 쉘 디버그 종료
$ ./test_script.sh
+ '[' -f /Users/yangdonghyeon/test_script.sh ']'
+ echo 'file exist'
file exist
+ echo test_script.sh
test_script.sh
+ set +x
Author And Source
이 문제에 관하여(bash 디버그), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@markyang92/bash-디버그저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)