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

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

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

#!/bin/bash -x

x=1
y=2

실행 중 출력으로 전송

+ x=1
+ y=2

질문: 스크립트 중간에 추적 모드를 중지/일시 중지한 다음 다시 활성화할 수 있는 방법은 무엇입니까? Pls는 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당연히 그렇지 않습니다.)

관련 정보