Yanıtlar:
Seçeneğinde zsh, setoptetkin seçenekleri göstermek ve unsetopthangilerinin etkin olmadığını göstermek için kullanabilirsiniz :
$ setopt
autocd
histignorealldups
interactive
monitor
sharehistory
shinstdin
zle
$ unsetopt
noaliases
allexport
noalwayslastprompt
alwaystoend
noappendhistory
autocd
autocontinue
noautolist
noautomenu
autonamedirs
.....
İçinde bashkullanabilirsiniz shopt -p.
set -oTAM liste için kullanmalısınız .
Sadece kullan:
[[ -o extended_glob ]]
Bu da işe yarar bash, ancak yalnızca ayarlanan seçenekler için set -odeğil, ayarlananlar için de geçerlidir shopt. veya zshile ayarlanabilecek tek bir seçenek kümesi vardır .setoptset -o
Tıpkı bash(veya herhangi bir POSIX kabuğunda olduğu gibi ) geçerli seçenek ayarlarını set -oda set +ogörebilir veya görebilirsiniz.
zsh/parameterVarsayılan dağıtımının bir parçası olan modül, bir ilişkisel dizi sağlar optionsseçenekler üzerinde olduğu gösterilmektedir.
if [[ $options[extended_glob] = on ]]; then …
Tek harfli takma adı olan seçenekler için (durum böyle değildir extended_glob), ayrıca denetleyebilirsiniz $-.
Hangi seçeneklerin etkin olduğunu test etmenin nadiren yararlı olduğunu unutmayın. Bir kod parçasındaki bir seçeneği etkinleştirmeniz veya devre dışı bırakmanız gerekirse, bu kodu bir fonksiyona koyun ve local_optionsseçeneği ayarlayın . emulateSeçenekleri varsayılan duruma sıfırlamak için yerleşik kodu çağırabilirsiniz .
my_function () {
setopt extended_glob local_options
}
another_function () {
emulate -L zsh
setopt extended_glob
}
setoptYalnızca, bu öykünme modu için varsayılan olarak etkin olmayan seçenekleri yazdırdığına dikkat edilmelidir .