Linux Shell 스 크 립 트 시리즈 튜 토리 얼(7):스 크 립 트 디 버 깅
1500 단어 LinuxShell각본시리즈 강좌스 크 립 트 디 버 깅
디 버 깅 기능 은 모든 프로 그래 밍 언어 가 실현 해 야 할 중요 한 특성 중 하나 입 니 다.예상 치 못 한 상황 이 발생 했 을 때 이 를 통 해 스 크 립 트 의 실행 정 보 를 생 성 합 니 다.디 버 깅 정 보 는 어떤 원인 으로 프로그램 이 붕괴 되 거나 행동 이 이상 한 지 알 수 있 습 니 다.
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 에서:셸 에 게 어떠한 조작 도 하지 말 라 고 말 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.