출력을 이해하는 방법은 무엇입니까 echo $-
? 일종의 국기 캐릭터처럼 보입니다. 구글링해도 단서를 못찾겠어요.
답변1
이는 쉘 플래그의 값을 나타냅니다.POSIX에 의해 정의됨:
-
set
(하이픈) 호출 시 지정된 특수 내장 명령을 통해 또는 쉘에 의해 암시적으로 현재 옵션 플래그(문자열로 연결된 단일 문자 옵션 이름)로 확장됩니다 .
이것zsh 매뉴얼간략하게 언급:
-
set
<S> 호출될 때 또는 또는 명령을 통해 쉘에 제공되는 플래그입니다setopt
.
~처럼배쉬 매뉴얼설명에서 set
:
현재 옵션 세트는 에서 찾을 수 있습니다
$-
.
출력을 이해하려면 echo $-
쉘 매뉴얼에서 옵션을 찾아봐야 합니다. 예를 들어 Bash에서 echo $-
출력 이란 , 및 옵션이 활성화되어 있고( 자세한 내용은 참고자료 참조) 쉘이 대화형( )이며 표준 입력( )에서 읽는다는 himBHs
의미 입니다.-h
-m
-B
-H
help set
-i
-s
답변2
~에서배쉬 참조 매뉴얼:
settings [+abefhkmnptuvxBCEHPT] [+o 옵션 이름] [arg ...]
옵션이 없으면 각 쉘 변수의 이름과 값은 현재 설정된 변수를 설정하거나 재설정하기 위한 입력으로 재사용할 수 있는 형식으로 표시됩니다.
...
별도로 명시하지 않는 한 이러한 옵션은 기본적으로 꺼져 있습니다. - 대신 +를 사용하면 이러한 옵션이 꺼집니다. 옵션은 쉘 호출에 대한 인수로 지정될 수도 있습니다. 현재 옵션 세트는 $-에서 찾을 수 있습니다. 잘못된 옵션이 발생하지 않는 한 반환 상태는 항상 true입니다.