스크립트를 실행하기 전에 스크립트 라인을 에코합니다.

스크립트를 실행하기 전에 스크립트 라인을 에코합니다.

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

관련 정보