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

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

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

~]$echo "this is what I see" 

반환

+ echo "this is what I see" this is what I see 

set에 대한 매뉴얼 페이지가 없습니다. set -x를 끄려면 어떻게해야합니까?

댓글

  • set는 쉘 builtin 명령 (적어도 bash에서는 있음)이므로 문서를 찾을 수 있습니다. bash '의 man 페이지에서. /^ *SHELL BUILTIN COMMANDS에 대한 맨 페이지를 검색하여 set 및 그 친구들에 대한 모든 것을 읽으십시오!
  • 하지만 set에 대한 man 페이지입니다! POSIX 프로그래머 가이드의 일부입니다 …이 시리즈를 정말 받아야합니다 … 제발?
  • Bash에서 help set.
  • @ lonewarrior556 도움이되는 답변을 찾으면 댓글을 달거나 해결책을 표시해주세요. 도움을 드리기 위해 시간을 투자합니다 ….

답변

set +x. 추가 정보 :

$ type set set is a special shell builtin 

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

일부 시스템에는 쉘 내장에 대한 매뉴얼 페이지가 있지만 이러한 매뉴얼 페이지는 “기본 쉘을 사용하는 경우에만 정확합니다. Linux에서는 POSIX 명령을 제공하는 매뉴얼 페이지가있을 수 있습니다. 섀도 잉 할 독립 실행 형 유틸리티의 맨 페이지가 없기 때문에 쉘 내장에 대해 나타납니다. 이 매뉴얼 페이지는 모든 Bourne 스타일 셸 (dash, bash, * ksh 및 zsh)에 적합하지만 일반적으로 불완전합니다.

긴 셸 매뉴얼 페이지에서 내장 검색에 대한 팁은 긴 매뉴얼 페이지 읽기 및 검색 을 참조하십시오.

이 경우 대답은 모든 Bourne 스타일 쉘에 대해 동일합니다. set -LETTER가 옵션을 켜면 set +LETTER가 옵션을 끕니다. 따라서 set +x는 추적을 해제합니다. set +x를 읽는 마지막 추적은 피할 수 없습니다 (셸을 종료하는 경우를 제외하고 — 때때로 서브 셸 (set -x; command to trace; other command to trace); command that is not traced를 사용할 수 있음).

댓글

  • 좋은 답변이지만 기본 " 마지막 단락에 삽입하는 대신 시작 부분에 + x "를 설정합니다. (추가 세부 정보가 도움이되었다고 생각했습니다.)
  • { set +x ;} 2> /dev/nullset +x 추적을 숨 깁니다 (승 ' Bourne 셸에서는 작동하지 않습니다.) 일부 셸은 여전히 + 2> /dev/null를 출력합니다.

Answer

set +x로 디버깅 모드를 중지 할 수 있습니다. 예제 페이지

Answer

디버그를 활성화했습니다. 모드를 해제해야합니다.

추출 양식 help set :

-대신 +를 사용하면 이러한 플래그가 해제됩니다.

그러므로 set +x

를 입력하세요.

답변

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

는 아래와 같습니다.

$ type set 

set는 특수 쉘 내장입니다. . 쉘의 man 페이지에 문서화되어 있지만 여기에서 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가 제공되지 않으면 모든 쉘 변수가 인쇄됩니다.

코멘트

  • 잘못되지는 않았지만 , 기존 답변 외에 추가 한 내용은 무엇입니까?
  • @JeffSchaller It '은 직접 성과 간결성을 위해 편집되었습니다. 이 답변이 필요했을 때 정답을 찾기 위해 전체 페이지를 읽어야했습니다. 사실 저는 받아 들여진 답을 읽는 것을 포기하고 help set에 가서 그것을 읽었습니다. 나는 받아 들여지는 대답을 개선하려고 노력했습니다. unix.stackexchange.com/revisions/149137/4 수락되었지만 거부되었습니다.뉴스 기사와 마찬가지로 가장 중요한 정보로 시작하여 독자가 어느 시점에서든 멈출 수 있다고 가정합니다. 각 다음 문장과 단락은 진행보다 덜 중요합니다. 그것은 ' 유닉스에서 나의 SO 스타일입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다