`set -x`를 취소하는 방법?


77

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

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

~]$echo "this is what I see"

보고

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

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


8
setbuiltin명령 (적어도 bash에는 있음)이므로 설명서는 bash의 맨 페이지에 있습니다. 맨 페이지를 검색하여 관련 /^ *SHELL BUILTIN COMMANDS정보 set와 친구를 모두 읽으십시오 !
dg99

4
그러나 대한 man페이지가 있습니다 set! 그것은 POSIX 프로그래머 가이드의 일부입니다 ... 당신은 정말로 그 시리즈를 얻어야합니다 ... 제발?
mikeserv

8
Bash에을 입력하십시오 help set.
200_success

@ lonewarrior556 답변이 도움이 되었으면 의견을 남기거나 해결책을 제시해 주시겠습니까? 우리는 우리의 시간을 돕습니다 ....
Simply_Me

답변:


77

사용하십시오 set +x. 추가 정보:

$ type set
set is a special shell builtin

이후 set쉘 내장입니다, 그것은 당신의 쉘의 문서에 설명되어 있습니다.

일부 시스템에는 쉘 내장을위한 매뉴얼 페이지가 있지만이 매뉴얼 페이지는 기본 쉘을 사용하는 경우에만 정확합니다. Linux에는 POSIX 명령을 제공하는 매뉴얼 페이지가있을 수 있습니다. 쉘 페이지에는 쉐도우를 제공하는 독립형 유틸리티의 매뉴얼 페이지가 없기 때문에 쉘 내장에 대해 표시됩니다. 이 매뉴얼 페이지는 모든 Bourne 스타일 쉘 (대시, bash, * ksh 및 심지어 zsh)에 적합하지만 일반적으로 불완전합니다.

참조 읽기 긴 사람 페이지 검색 긴 쉘 man 페이지에 내장 검색에 대한 도움말을.

이 경우 대답은 모든 Bourne 스타일 쉘에 대해 동일합니다. 경우 옵션을 설정 한 경우, 그것을 꺼집니다. 따라서 추적을 끕니다. 마지막으로 읽은 흔적 은 피할 수 없습니다 (쉘이 빠져 나가는 것을 제외하고는 때때로 서브 쉘을 사용할 수 있습니다 ).set -LETTERset +LETTERset +xset +x(set -x; command to trace; other command to trace); command that is not traced


4
이것은 좋은 대답이지만 마지막 단락에 포함되지 않고 시작 부분에 기본 "set + x"를 넣으면 몇 분만 절약 할 수 있습니다. (자세한 내용은 도움이되었습니다.)
DA

2
{ set +x ;} 2> /dev/nullset +x추적을 숨 깁니다 (Bourne 쉘에서는 작동하지 않음). 일부 쉘은 여전히 ​​출력합니다 + 2> /dev/null.
Stéphane Chazelas


18

디버그 모드를 활성화 했으므로 끄십시오.

추출 형태 help set:

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

타입 set +x


1
$ 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가 제공되지 않으면 모든 쉘 변수가 인쇄됩니다.


틀린 것은 아니지만 기존 답변 외에 무엇을 추가 했습니까?
Jeff Schaller

@JeffSchaller 직접 성과 간결성을 위해 편집되었습니다. 이 답변이 필요할 때 정답을 찾기 위해 전체 페이지를 읽어야했습니다. 사실 나는 대답을 읽지 않고 그냥 가서 help set읽었습니다. 나는 대답을 개선하려고 노력했다. unix.stackexchange.com/revisions/149137/4 승인되었지만 거부되었습니다. 뉴스 기사와 마찬가지로 가장 중요한 정보로 시작하여 독자가 어느 시점에서든 다음 문장과 단락이 진행보다 덜 중요하다고 가정합니다. 유닉스 se에 대한 나의 SO 스타일입니다.
dlamblin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.