옵션을 활성화하기 위해을 사용할 수 있습니다 setopt. 예 :
setopt extended_glob
옵션이 현재 활성화되어 있는지 어떻게 확인할 수 있습니까?
답변
에서 활성화 된 옵션 을 표시하고 활성화되지 않은 옵션을 표시 zsh할 수 있습니다 .setoptunsetopt
$ setopt
autocd
histignorealldups
interactive
monitor
sharehistory
shinstdin
zle
$ unsetopt
noaliases
allexport
noalwayslastprompt
alwaystoend
noappendhistory
autocd
autocontinue
noautolist
noautomenu
autonamedirs
.....
에서 bash사용할 수 있습니다 shopt -p.
답변
그냥 사용하십시오 :
[[ -o extended_glob ]]
또한에서 작동 bash하지만 에서 설정 한 옵션이 set -o아닌에 의해 설정된 옵션에 대해서만 작동 합니다 shopt. 또는 zsh로 설정할 수있는 옵션 세트가 하나만 있습니다 .setoptset -o
단지와 같은 bash(또는 POSIX 쉘), 당신은 또한 할 수 set -o또는 set +o현재 옵션 설정을 참조하십시오.
답변
zsh/parameter기본 분포의 일부 모듈은 연관 배열 제공 options옵션가되는지를 나타낸다.
if [[ $options[extended_glob] = on ]]; then …
소문자가 아닌 단일 문자 별칭이있는 옵션의 경우을 extended_glob확인할 수도 있습니다 $-.
활성화 된 옵션을 테스트하는 것은 거의 유용하지 않습니다. 코드에서 옵션을 활성화 또는 비활성화해야하는 경우 해당 코드를 함수에 넣고 local_options옵션을 설정하십시오 . emulate내장을 호출하여 옵션을 기본 상태로 재설정 할 수 있습니다 .
my_function () {
setopt extended_glob local_options
}
another_function () {
emulate -L zsh
setopt extended_glob
}
