옵션을 활성화하기 위해을 사용할 수 있습니다 setopt
. 예 :
setopt extended_glob
옵션이 현재 활성화되어 있는지 어떻게 확인할 수 있습니까?
답변
에서 활성화 된 옵션 을 표시하고 활성화되지 않은 옵션을 표시 zsh
할 수 있습니다 .setopt
unsetopt
$ 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
로 설정할 수있는 옵션 세트가 하나만 있습니다 .setopt
set -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
}