bash 추적/상세 모드를 일시적으로 변경하는 방법은 무엇입니까?

bash 추적/상세 모드를 일시적으로 변경하는 방법은 무엇입니까?

나는 -xbash 스크립트의 실행을 추적하는 데 사용합니다.

#!/bin/bash -x

x=1
y=2

실행 중에 출력으로 전송됨

+ x=1
+ y=2

질문: 스크립트 중간에 추적 모드를 중지/일시 중지한 다음 다시 활성화하는 방법은 무엇입니까? ti는 y=2 >/dev/null과 같은 것과 아무 관련이 없습니다.

상세 모드( )를 사용할 수 있나요 #!/bin/bash -v?

답변1

이것set내장이러한 옵션을 제어하세요.

열려 있는 xtrace:

set -x

끄려면:

set +x

플러스와 마이너스의 역논리와 약간 비슷하지만 그게 전부입니다.

마찬가지로 지원되는 다른 모든 옵션 set도 명령줄 (*) 에서 설정할 수 있으므로 등과 bash -u동일합니다 set -u. 링크 설명에 목록이 있으며 help set명령줄에도 표시됩니다.

set -o xtrace일부 옵션에는 와 같은 긴 형식도 있습니다 set -x.

(* 하지만 그 반대라고 말할 수는 없습니다. 모든 명령줄 옵션을 set다음을 사용하여 설정할 수 있는 것은 아닙니다. -l예를 들어 이에 상응하는 옵션이 없고 당연히 -c.)

관련 정보