एक विकल्प को सक्षम करने के लिए, हम उपयोग कर सकते हैं setopt
। उदाहरण के लिए:
setopt extended_glob
यदि कोई विकल्प वर्तमान में सक्षम है तो हम कैसे जांच सकते हैं?
एक विकल्प को सक्षम करने के लिए, हम उपयोग कर सकते हैं 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
।
set -o
पूर्ण सूची के लिए उपयोग करना चाहिए ।
महज प्रयोग करें:
[[ -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
}
setopt
केवल उस अनुकरण मोड के लिए डिफ़ॉल्ट रूप से सक्षम नहीं किए गए विकल्पों को प्रिंट करता है।