답변:
에서 man bash
(예, 그것은 큰 사람 페이지입니다, 일반적으로 Google 검색이 빠릅니다) :
-x
각 간단한 명령 (명령, 대소 문자 명령, 선택 명령 또는 명령의 산술)을 확장 한 후 PS4의 확장 된 값을 표시 한 다음 명령과 해당 확장 인수 또는 관련 단어 목록을 표시합니다.
효과적으로 : 스크립트를 실행하면 해당 스크립트에서 수행 된 모든 작업이 표시됩니다. 따라서 모든 if, 루프 및 명령이 실행됩니다. 디버깅에 매우 유용합니다.
-v
쉘 입력 라인을 읽을 때 인쇄하십시오. 스크립트가 실행될 때 파일을 읽을 때 전체 스크립트를 인쇄합니다. 대화식으로 쉘을 사용하면 Enter 키를 누른 후 각 명령이 표시됩니다.
위의 인용문은의 set
내장 명령에 대한 설명에서 인용 한 것입니다. man bash
또한 옵션이 set
인수 (shebang 행)로 전달 될 수 있음을 설명합니다 .
달리 명시되지 않는 한 옵션은 기본적으로 해제되어 있습니다. 사용
+
하기보다는-
이러한 옵션을 원인으로하는 해제 할 수 있습니다. 쉘 호출에 대한 인수로 옵션을 지정할 수도 있습니다. 현재 옵션 세트는에서 찾을 수 있습니다$-
. 잘못된 옵션이 없으면 반환 상태는 항상 true입니다.
/-x
몇 번 정도 man
(실제로 less
) 표시됩니다. /
+ 위쪽 화살표를 사용하여 마지막 검색을 반복 할 수 있지만 현재 검색이 화면에서 나오도록하려면 아래로 내려야합니다 ( /
정방향 검색, ?
역방향).
n
정방향 검색 및 N
역방향 검색 을 사용하여 다음 적중을 더 쉽게 검색 할 수 있습니다.
test -x
조건식 (세 번째 히트)이 아닌을보고 set -x
있었습니다. -x
에는 man bash
보다 구체적인를 점점 할 수 있도록 아주 나쁜 경우입니다 : 당신이 사용하는 경우 /^\s+-x\b
, (= 라인 + 공백 +의 시작 -x
은 5 안타의 오른쪽 하나에 도착 + 단어 경계) ... (는) 4를하고 있지만, 사실에 대한 것입니다 x
일치 X
... 이것은 내가 물어봐야 할 질문으로 이어집니다 . 어쨌든 대부분의 매뉴얼 페이지에서 ^\s+-x\b
패턴이 먼저 작동해야 스위치를 사용할 수 있습니다.
bash 매뉴얼 페이지 는 이러한 옵션이 실제로 더 자세히 설명되어 있지만 쉽게 간과된다는 것을 암시합니다.
따라서 문제는 실제로 읽어야합니다. bash 매뉴얼 페이지의 OPTIONS 섹션이 불완전합니다. 답은 그것들을 복제하거나 옵션 섹션의 첫 번째 섹션을 강조하는 것입니다.
OPTIONS
All of the single-character shell options documented in the descrip‐
tion of the set builtin command can be used as options when the shell
is invoked. [ ... ]
마지막으로,이 작업이 완료 만들기 위해 : 그들이 어떤 POSIX 쉘의 표준 옵션 때 스크립트의 코드를 표시하기위한 읽기 ( -v
) 때 실행 ( -x
). stderr에 출력이 나타납니다.