bash
스크립트의 각 줄이 실행되기 전에 인쇄되도록 스크립트를 실행하는 방법이 있습니까 ? 이것은 디버깅에 매우 유용합니다 ...
$./myscript.sh
echo "Hello"
Hello
내 스크립트가 얼마나 진행되었는지, 무엇을 하고 있는지 정확히 확인할 수 있습니다.
답변1
set
명령과 옵션을 사용하여 이 기능을 활성화/비활성화 할 수 있습니다 -x/+x
.
-엑스- 각 단순 명령, 명령의 경우, 대소문자 명령, 선택 명령 또는 명령의 산술을 확장한 후 PS4용으로 확장된 값을 표시한 다음 명령과 해당 확장 매개변수 또는 관련 단어 목록을 표시합니다.
-x
활성화하고 +x
비활성화하십시오.
예
샘플 스크립트$ cat ~/myscript.sh
#!/bin/bash
set -x
echo "Hello"
샘플 출력
$ ~/myscript.sh
+ echo Hello
Hello