Aby włączyć opcję, możemy użyć setopt
. na przykład:
setopt extended_glob
Jak możemy sprawdzić, czy opcja jest obecnie włączona?
Za zsh
pomocą możesz setopt
wyświetlić opcje włączone i unsetopt
pokazać, które nie są włączone:
$ setopt
autocd
histignorealldups
interactive
monitor
sharehistory
shinstdin
zle
$ unsetopt
noaliases
allexport
noalwayslastprompt
alwaystoend
noappendhistory
autocd
autocontinue
noautolist
noautomenu
autonamedirs
.....
W bash
, możesz użyć shopt -p
.
setopt
drukuje tylko opcje domyślnie wyłączone w tym trybie emulacji.set -o
dla PEŁNEJ listy.Po prostu użyj:
Działa to również
bash
, ale tylko dla opcji ustawionych przezset -o
, a nie dla opcji ustawionych przezshopt
.zsh
ma tylko jeden zestaw opcji, które mogą być ustawiane albosetopt
alboset -o
.Podobnie jak w przypadku
bash
(lub dowolnej powłoki POSIX), możesz także zrobićset -o
lubset +o
zobaczyć bieżące ustawienia opcji.źródło
zsh/parameter
Moduł, który jest częścią dystrybucji domyślnym zapewnia tablicę asocjacyjnąoptions
, która wskazuje, które opcje są włączone.W przypadku opcji, które mają alias jednoliterowy (co nie ma miejsca
extended_glob
), możesz również sprawdzić$-
.Pamiętaj, że rzadko przydatne jest sprawdzenie, które opcje są włączone. Jeśli chcesz włączyć lub wyłączyć opcję w kodzie, umieść ten kod w funkcji i ustaw
local_options
opcję. Możesz wywołaćemulate
wbudowane, aby zresetować opcje do stanu domyślnego.źródło