এক্সটগ্লোব বর্তমান বাশ সেশনে সক্ষম হয়েছে কিনা তা কীভাবে জানবেন?


10

আমার একটি বাশ টার্মিনাল খোলা আছে। আমি অনুসন্ধান করতে চাই বিকল্পটি এক্সটগ্লোব এই সেশনে সক্ষম বা অক্ষম রয়েছে কিনা, আমি এর মান পরিবর্তন করার আগেই। কিভাবে আমি এটি করতে পারব?


2
মনে রাখবেন যে আপনি কৌতূহলী না হলে পরীক্ষা করার দরকার নেই। আপনি যদি এটি চালু করতে চান তবে কেবল চালান shopt -s extglobবা আপনি যদি এটি বন্ধ চান তবে চালান shopt -u extglob। এটি মূলত বা না থাকলে তা কোনও পার্থক্য করে না।
টেরডন

উত্তর:


16

শেষ ঘন্টা:

$ shopt extglob

এটি বর্তমান অবস্থা ফিরিয়ে দেবে:

$ shopt extglob 
extglob         on
$ shopt -u extglob 
$ shopt extglob 
extglob         off

সমস্ত অপশন দেখানোর জন্য, কেবল চালান:

$ shopt

এটি স্ক্রিপ্টিংয়ের জন্যও ব্যবহার করা যেতে পারে, এর রিটার্নের স্ট্যাটাসটি বিকল্প সেট বা আনসেটটিও নির্দেশ করে, তবে বার্তাটি স্ট্যান্ডার্ডের বাইরে চলে যাবে।
cuonglm

12

দোকানপাট ব্যবহার করুন :

shopt -q extglob && echo enable || echo disable

-qঅপশনটি shoptবাতিল করে আউটপুট, এবং রিটার্নের স্থিতি নির্দেশ করে যাতে বিকল্পগুলি সেট বা আনসেট সেট করে।

মনে রাখবেন যে shoptকেবলমাত্র বিকল্পগুলি প্রতিবেদন করতে পারে যা BASHOPTSভেরিয়েবলের মধ্যে উপস্থিত হতে পারে , সেগুলি setবিল্টইন কমান্ডে বৈধ নয় ।

বৈধ set, বা উপস্থিত হতে পারে এমন বিকল্পগুলির জন্য যাচাই করতে SHELLOPTSব্যবহার করুন shopt -qo:

$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable

2
শুধু কেন নয় shopt extglob?
টেরডন

1
কারণ আমি চাই না যে আউটপুটটি আমার স্ট্যান্ডার্ডটি নষ্ট করবে :)
cuonglm

আপনি কি বোঝাতে চেয়েছেন? আমি যতদূর বলতে পারি, অপশনটি সেট করা আছে কি না তা পরীক্ষা করতে চায় wants তারা উল্লেখ করে যে এটি একটি টার্মিনালে রয়েছে, তাই আমি সন্দেহ করি এটি কোনও স্ক্রিপ্টের অংশ। এবং, যাইহোক, পার্থক্য কি? shopt extglobআপনার এবং উভয় পদ্ধতির stdout লিখতে হবে। আপনি কি ভাবছেন shopt -q extglob && shopt -u extglob || shopt -s extglob?
টেরডন

@ এটারডন: ঠিক আছে, আমার পন্থাটি যদি আমি চান তবে কেবল স্টডআউটকে লিখি । সাধারণ পন্থা হয় shopt -q extglob && : Code when enable || : Code when disable
cuonglm

3
আমি এমন কোনও স্ক্রিপ্ট রচনার কল্পনা করতে পারি যা ব্যবহারকারীর বিদ্যমান সেটিংটি সংরক্ষণের চেষ্টা করবে, তবে একটি সংকটপূর্ণ কোড থাকতে পারে যা যদি এটি কোনও নির্দিষ্ট পদ্ধতি সেট না করে তবে ভেঙে যায়। এটি সম্ভাব্য-পৃথক অবস্থার জন্য প্রয়োজনীয় ক্রিয়াকলাপ সম্পাদনের পরে নিঃশব্দে বর্তমান অবস্থা নির্ধারণ, এটি সংরক্ষণ এবং এএসএপ পুনরুদ্ধার করার জন্য একটি পদ্ধতির পরামর্শ দেয়।
মন্টি হার্ড

6

ব্যাশে দুটি বিকল্পের তালিকা রয়েছে। shoptএকটির জন্য এবং একটির জন্য set

বিকল্প extglobজন্যে shoptতালিকা।
এর মান হয় shopt extglobবা ব্যবহার করে মুদ্রিত হতে পারে shopt -p extglob

মত একটি বিকল্প তালিকার nounsetঅন্তর্গত set
এর মান ব্যবহার করে shopt -op nounsetবা মুদ্রণ করা যেতে পারে shopt -o nounset

একটি বিকল্প চেক করুন।

শপের জন্য একটি নির্দিষ্ট বিকল্প (এটি পরিবর্তন না করে) মুদ্রণ করতে, ব্যবহার করুন shopt -p name:

$ shopt -p xpg_echo
shopt -u xpg_echo

এবং এর জন্য set, ব্যবহার করুন: shopt -po name(হ্যাঁ, আপনি তালিকার shopt -opজন্য ব্যবহার করতে পারেন set)।

$  shopt -po xtrace
set +o xtrace

বিকল্প তালিকা।

শপ্ট থেকে সমস্ত বিকল্পের তালিকা করতে, shopt(বা পুনরায় ব্যবহারযোগ্য shopt -p) ব্যবহার করুন ।
এছাড়াও shopt -sবা shopt -uব্যবহার করা যেতে পারে।

সমস্ত বিকল্প তালিকা পথে setসাথে আছেন set -o(সম্পর্কিত: set +o)।
বা: shopt -oসমতূল্য set -oএবং shopt -opহয় set +o

ম্যানুয়াল

থেকে LESS=+/'^ *shopt \[' man bash:

কোনও বিকল্প নেই, বা -p বিকল্পের সাহায্যে, সমস্ত নিষ্পত্তির বিকল্পগুলির একটি তালিকা প্রদর্শিত হবে, যদি -s বা -u কোনও অপ্টনাম আর্গুমেন্ট ব্যবহার না করা হয় তবে প্রদর্শনটি যথাযথভাবে সেট করা বা আনসেট না হওয়াতে সীমাবদ্ধ।

থেকে LESS=+/'^ *set \[' man bash:

যদি -o কোনও বিকল্প-নাম দিয়ে সরবরাহ করা হয় তবে বর্তমান বিকল্পগুলির মান মুদ্রিত হবে। যদি + o কোনও বিকল্প-নাম দিয়ে সরবরাহ করা হয় তবে বর্তমান বিকল্প সেটিংস পুনরায় তৈরি করার জন্য সেট কমান্ডের একটি সিরিজ স্ট্যান্ডার্ড আউটপুটে প্রদর্শিত হবে।

উদাহরণ

$ set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off
xtrace          off

এবং

$  shopt -sp
shopt -s checkwinsize
shopt -s cmdhist
shopt -s expand_aliases
shopt -s extglob
shopt -s extquote
shopt -s force_fignore
shopt -s histappend
shopt -s histverify
shopt -s interactive_comments
shopt -s progcomp
shopt -s promptvars
shopt -s sourcepath

shopt -opকোনটি আসলে setবিকল্পগুলি তালিকাভুক্ত করে তা উল্লেখ করার মতো :

$ shopt -op
set +o allexport
set -o braceexpand
set -o emacs
set +o errexit
set +o errtrace
set +o functrace
set -o hashall
set -o histexpand
set -o history
set +o ignoreeof
set -o interactive-comments
set +o keyword
set -o monitor
set +o noclobber
set +o noexec
set +o noglob
set +o nolog
set +o notify
set +o nounset
set +o onecmd
set +o physical
set +o pipefail
set +o posix
set +o privileged
set +o verbose
set +o vi
set +o xtrace
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.