나는 -x
bash 스크립트 실행을 추적하는 데 사용합니다.
#!/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
당연히 그렇지 않습니다.)