현재 두 개의 파일이 있습니다. 하나는 기본 기능이고 다른 하나는 핵심 로직입니다. 메인 함수는 함수처럼 코드 로직과 접근 권한을 얻습니다. 하지만 내 질문은 코드 논리에 문제가 있는 것입니다. 디버그 모드에서 어떻게 볼 수 있습니까? 아래는 예시입니다.
코드 논리
function logic() {
#!/bin/bash
if [[ -f /tmp/sample.txt ]]; then
echo "hello world"
fi
}
주요 기능 파일
#!/bin/bash
if [[ -f /tmp/test.txt ]] ; then
logic
echo "Done"
fi
출력을 실행할 때:
sh -x myscript.sh
++ [[ -f /tmp/test.txt ]]
hello world ## I need debug output here itself.
++ echo "Done"
답변1
함수를 호출하기 전에 파일을 가져와야 합니다.
#!/bin/bash
source /path/to/codeLogic.sh
if [[ -f /tmp/test.txt ]] ; then
logic
echo "Done"
fi
그런 다음 디버그 모드에서 실행합니다.
sh -x myscript.sh
+ source /path/to/codeLogic.sh
+ [[ -f /tmp/test.txt ]]
+ logic
+ [[ -f /tmp/sample.txt ]] ---> this is the execution part of logic function
+ echo 'hello world'
hello world
+ echo Done
Done