"set -x"를 실행 취소하는 방법은 무엇입니까?

"set -x"를 실행 취소하는 방법은 무엇입니까?

set -x터미널에 입력합니다 .

이제 터미널은 내 출력 위에 마지막 명령 실행을 계속 인쇄하므로 명령은

~]$echo "this is what I see"

반품

+ echo 'this is what I see'
this is what I see

매뉴얼 페이지가 없습니다 set. 어떻게 닫나요 set -x?

답변1

사용 set +x. 추가 정보:

$ type set
set is a special shell builtin

set이는 쉘 내장 명령이므로 쉘 문서에 문서화되어 있습니다 .

일부 시스템에는 쉘 내장 명령에 대한 매뉴얼 페이지가 있지만 이는 기본 쉘을 사용하는 경우에만 정확합니다. Linux에서는 이를 숨길 수 있는 독립 실행형 유틸리티 매뉴얼 페이지가 없기 때문에 쉘 내장에 나타날 POSIX 명령을 제공하는 매뉴얼 페이지가 있을 수 있습니다. 이러한 매뉴얼 페이지는 모든 Bourne 스타일 쉘(dash, bash, * ksh 또는 zsh)는 정확하지만 불완전한 경우가 많습니다.

바라보다긴 매뉴얼 페이지 읽기 및 검색내장 기능에 대한 긴 쉘 매뉴얼 페이지 검색에 대한 팁.

이 경우 대답은 모든 Bourne 스타일 쉘에 대해 동일합니다. 옵션이 켜져 있으면 끄세요. 따라서 추적을 닫습니다.set -LETTERset +LETTERset +x

명령 자체와 마찬가지로 마지막 추적을 set +x완전히 피할 수는 없습니다. 를 사용하여 이를 억제할 수 있지만 { set +x; } 2>/dev/null일부 셸에는 여전히 리디렉션 자체의 흔적이 있습니다. 추적을 실행하지 않고 (하위)쉘을 종료하면 추적을 피할 수 있습니다 set +x. 추적된 명령을 하위 쉘에서 실행할 수 있는 경우 (set -x; command to trace; other command to trace); command that is not traced.

답변2

으로 디버그 모드를 중지할 수 있습니다 set +x. 예시 보기페이지

답변3

디버그 모드가 활성화되어 있으며 이를 꺼야 합니다.

help set쉘 출력에서 ​​추출됨 bash:

- 대신 +를 사용하면 이러한 플래그가 꺼집니다.

그러니 들어가세요set +x

답변4

$ set +x # is the opposite of set -x, and will reverse what you typed.

set다음과 같기 때문에 매뉴얼 페이지를 찾을 수 없습니다 .

$ type set

set특수 내장 쉘입니다. 쉘의 매뉴얼 페이지에 문서화되어 있지만 이것이 bash라고 가정하면 다음 중 하나를 사용하여 특정 문서를 얻을 수도 있습니다.

$ help set || builtin help set # luckily Bash has builtin help on builtin commands

bash나 sh의 매뉴얼 페이지는 읽기 쉽지만, 정리하기에는 약간 길다. 설정을 해제하는 데 필요한 유효한 정보는 -x앞부분 끝에 있으며 Exit Status:다음과 같습니다.

- 대신 +를 사용하면 이러한 플래그가 꺼집니다. 이러한 플래그는 셸을 호출할 때도 사용할 수 있습니다. 현재 플래그 세트는 $-에서 찾을 수 있습니다. 나머지 n개의 ARG는 위치 매개변수로 $1, $2, .. $n에 순서대로 할당됩니다. ARG가 제공되지 않으면 모든 쉘 변수가 인쇄됩니다.

관련 정보