zsh: কোনও বিকল্প সক্ষম আছে কিনা তা কীভাবে পরীক্ষা করবেন


39

কোনও বিকল্প সক্ষম করতে, আমরা ব্যবহার করতে পারি setopt। উদাহরণ:

setopt extended_glob

কোনও বিকল্প বর্তমানে সক্ষম কিনা তা আমরা কীভাবে পরীক্ষা করতে পারি?

উত্তর:


41

ইন 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


এটি লক্ষ করা উচিত যে setoptকেবলমাত্র সেই ইমুলেশন মোডের জন্য ডিফল্টরূপে সক্ষম নয় এমন বিকল্পগুলি মুদ্রণ করে।
llua

6
আপনার set -oসম্পূর্ণ তালিকা জন্য ব্যবহার করা উচিত ।
কুতসান কাপলান

16

শুধু ব্যবহার করুন:

[[ -o extended_glob ]]

এটি এতে কাজ করে bash, তবে কেবল সেটগুলি set -oনয়, সেট করা বিকল্পগুলির জন্য shoptzshঅপশন পারেন সাথে সেট করা যেতে পারে মাত্র এক সেট আছে setoptবা set -o

bash(বা কোনও পসিক্স শেল) এর মতো আপনিও করতে পারেন set -oবা set +oবর্তমান বিকল্প সেটিংস দেখতে পারেন।


11

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
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.