كيفية تخصيص Bash Shell باستخدام shopt

نشرت: 2022-01-29
موجه طرفية على كمبيوتر محمول يعمل بنظام Linux.
فاطماواتي أحمد زينوري / شاترستوك

إذا قمت بضبط سلوك Bash shell باستخدام shopt ، يمكنك التحكم في أكثر من 50 إعدادًا. سنوضح لك كيفية تصميم نظام Linux الخاص بك بالطريقة التي تريدها.

المتجر المدمج

يعد shopt المدمج جزءًا من جميع إصدارات Bash shell ، لذلك لا داعي لتثبيت أي شيء. زاد عدد الخيارات المتاحة في shopt بشكل مطرد على مر السنين. لذلك ، كلما كان إصدار Bash لديك أقدم ، ستكون قائمة خيارات shopt أقصر.

إذا كان هناك شيء لا يبدو أنه يعمل على جهازك ، فتحقق man إدخال صفحة الدليل لـ Bash وتحقق من توفر هذا الخيار في إصدار shopt الخاص بك.

نحن نغطي جميع خيارات shopt أدناه. وصفنا أيضًا كيفية استخدامه ونشارك بعض الأمثلة. من هناك ، يمكنك التحقق من صفحة Bash man أو دليل GNU Bash المرجعي لمعرفة ما إذا كان أي من هذه الخيارات يبدو مفيدًا أو جذابًا.

يتم تمكين بعض خيارات shopt بشكل افتراضي وتشكل جزءًا من سلوك Bash الافتراضي. يمكنك تمكين خيار shopt قصير المدى إلى Bash. وسيعود بعد ذلك إلى السلوك الافتراضي عند إغلاق الصدفة.

الإعلانات

ومع ذلك ، إذا كنت تريد إتاحة سلوك معدل كلما قمت بتشغيل Bash shell ، فيمكنك إجراء التغييرات بشكل دائم.

خيارات shopt

هناك خيارات shopt 53. إذا كنت تستخدم الأمر shopt بدون أي خيارات ، فإنه يسردها. إذا قمنا بتوجيه الإخراج من خلال الأمر wc ، فسيتم حساب الأسطر والكلمات والأحرف بالنسبة لنا. نظرًا لأن كل خيار shopt يكون في السطر الخاص به ، فإن عدد الأسطر هو عدد الخيارات.

نكتب ما يلي:

 تسوق | مرحاض 

لرؤية جميع الخيارات ، يمكننا توجيه الإخراج عبر أمر column لعرض أسماء الخيارات في أعمدة ، أو يمكننا توجيهها إلى عدد less .

نكتب ما يلي:

 تسوق | عمود 

العثور على shopt في دليل Linux

القسم الذي يناقش shopt وخياراته موجود في قسم Bash في دليل Linux. يبلغ طول قسم Bash أكثر من 6000 سطر. يمكنك العثور على وصف shopt بالكثير من التمرير ، أو يمكنك فقط البحث عنه في الدليل.

للقيام بذلك ، افتح الدليل في قسم Bash:

 رجل باش 

الإعلانات

في الدليل ، اضغط على / لبدء البحث. اكتب ما يلي ، ثم اضغط على Enter:

 assoc_expand_once 

ستظهر بداية قسم خيار shopt في نافذة man .

ذات صلة: كيفية استخدام أمر رجل Linux: الأسرار والأساسيات المخفية

ضبط وعدم ضبط الخيارات

لتعيين خيارات shopt ، استخدم الأوامر التالية:

  • -s : قم بتعيين أو تمكين.
  • -u : غير مضبوط أو تعطيل.

نظرًا لأن بعض الخيارات يتم تمكينها افتراضيًا ، فمن السهل أيضًا التحقق من الخيارات قيد التشغيل. يمكنك القيام بذلك باستخدام خيارات -s و -u بدون استخدام اسم خيار. يؤدي هذا إلى shopt بإدراج الخيارات التي يتم تشغيلها وإيقاف تشغيلها.

اكتب ما يلي:

 shopt-s 

 shopt -u | عمود 

يمكنك استخدام خيار shopt بدون الأمرين -s أو -u لرؤية حالة التشغيل أو الإيقاف لكل خيار.

على سبيل المثال ، يمكننا كتابة ما يلي للتحقق من إعداد خيار التحقق من histverify :

 shopt هيست التحقق

يمكننا كتابة ما يلي لضبطه على:

 shopt -s هيست التحقق
الإعلانات

بعد ذلك ، يمكننا كتابة ما يلي للتحقق منه مرة أخرى:

 shopt هيست التحقق 

histverify خيار التحقق من التاريخ كيفية عمل جانب واحد من أمر history . عادة ، إذا طلبت من history أن يكرر أمرًا عن طريق الرجوع إليه برقم ، مثل !245 ، يتم استرداد الأمر من محفوظات الأمر ويتم تنفيذه على الفور.

إذا كنت تفضل مراجعة أمر ما للتأكد من أنه الأمر الذي توقعته وقم بتحريره ، إذا لزم الأمر ، فاكتب ما يلي لتعيين خيار shopt histverify على تشغيل:

 245 

يتم استرداد الأمر وتقديمه في سطر الأوامر. يمكنك إما حذفه أو تحريره أو تنفيذه بالضغط على Enter.

ذات صلة: كيفية استخدام أمر المحفوظات على نظام Linux

خيار autocd

مع ضبط خيار autocd على تشغيل ، إذا قمت بكتابة اسم دليل في سطر الأوامر واضغطت على Enter ، فسيتم التعامل معه كما لو كنت قد كتبت cd أمامه.

نكتب ما يلي لتشغيل خيار autocd :

 shopt -s autocd

ثم نكتب اسم الدليل:

 وثائق 

خيار cdspell

عند تشغيل خيار cdspell ، سيقوم Bash تلقائيًا بتصحيح الأخطاء الإملائية البسيطة والأخطاء المطبعية في أسماء الدلائل.

نكتب ما يلي لتعيين خيار cdspell :

 shopt -s cdspell
الإعلانات

لمحاولة التغيير إلى دليل بأحرف صغيرة يجب أن يحتوي على حرف أولي كبير ، نكتب ما يلي:

 وثائق القرص المضغوط

بعد ذلك ، يمكننا كتابة ما يلي لتجربة اسم دليل يحتوي على حرف "t" إضافي في اسمه:

 cd ../ الصور 

يتغير Bash في كل دليل ، بغض النظر عن الأخطاء الإملائية.

خيار xpg_echo

عند تعيين الخيار xpg_echo على تشغيل ، فإن الأمر echo سوف يطيع الأحرف التي تم تجاوزها ، مثل \n للخط الجديد و \t لعلامة التبويب الأفقية.

أولاً ، نكتب ما يلي للتأكد من تعيين الخيار:

 shopt -s xpg_echo
الإعلانات

ثم نقوم بتضمين \n في سلسلة سنقوم بتمريرها إلى echo :

 صدى "هذا هو السطر الأول \ n هذا هو السطر الثاني" 

يفرض حرف السطر الجديد المتسرب فاصل سطر في الإخراج.

ينتج عن هذا نفس سلوك خيار echo -e (تمكين تفسير الهروب) ، لكن xpg_echo يسمح له أن يكون الإجراء الافتراضي.

ذات صلة: كيفية استخدام Echo Command على Linux

خيار dotglob

يجب التعامل مع خيار dotglob الحذر. يسمح بتضمين الملفات والأدلة التي تبدأ بنقطة ( . ) في توسعات الاسم أو "globbing". تسمى هذه "ملفات نقطية" أو "أدلة نقطية" وعادة ما تكون مخفية. يتجاهل خيار dotglob النقطة الموجودة في بداية أسمائهم.

أولاً ، سنقوم بالبحث عن الملفات أو الدلائل التي تنتهي بكلمة "geek" بكتابة ما يلي:

 ls * المهوس

تم العثور على ملف واحد وسرده. بعد ذلك ، سنقوم بتشغيل خيار dotglob عن طريق كتابة ما يلي:

 shopt -s dotglob
الإعلانات

نصدر نفس الأمر ls للبحث عن الملفات والمجلدات التي تنتهي بـ "geek":

 ls * المهوس 

هذه المرة تم العثور على ملفين وإدراجهما ، أحدهما ملف نقطي. يجب أن تكون حذرًا مع rm و mv عندما يكون لديك خيار dotglob مضبوطًا على تشغيل.

خيار nocaseglob

يشبه خيار nocaseglob خيار dotglob ، باستثناء nocaseglob يسبب اختلافات في الأحرف الكبيرة والصغيرة في أسماء الملفات والأدلة التي يتم تجاهلها في توسعات الاسم.

نكتب ما يلي للبحث عن الملفات أو الدلائل التي تبدأ بـ "كيف":

 ls كيف *

تم العثور على ملف واحد وسرده. نكتب ما يلي لتشغيل خيار nocaseglob :

 shopt -s nocaseglob

ثم نكرر الأمر ls :

 ls كيف * 

تم العثور على ملفين ، أحدهما يحتوي على أحرف كبيرة.

إجراء التغييرات بشكل دائم

ستستمر التغييرات التي أجريناها فقط حتى نغلق غلاف Bash الحالي. لجعلها دائمة عبر جلسات شل المختلفة ، نحتاج إلى إضافتها إلى ملف “.bashrc” الخاص بنا.

الإعلانات

في الدليل الرئيسي الخاص بك ، اكتب الأمر التالي لفتح ملف “.bashrc” في محرر نصوص Gedit الرسومي (أو قم بتغييره وفقًا لذلك لاستخدام المحرر الذي تفضله):

 gedit .bashrc

سيفتح محرر gedit مع تحميل ملف “.bashrc”. سترى بعض إدخالات shopt موجودة بالفعل فيه.

تم تحميل محرر gedit مع bashrc. وتم تمييز خيارات shopt.

يمكنك إضافة خيارات shopt الخاصة بك هنا أيضًا. عندما تقوم بإضافتها ، احفظ التغييرات وأغلق المحرر. الآن ، عندما تفتح Bash shell جديدًا ، سيتم تعيين خياراتك لك.

خيارات بقدر ما تراه العين

صحيح أن الأمر shopt يحتوي على الكثير من الخيارات ، لكن لا يتعين عليك التعامل معها جميعًا مرة واحدة ، إن وجدت. نظرًا لوجود الكثير ، فمن المحتمل أن يكون هناك البعض الذي لن يهمك.

على سبيل المثال ، هناك مجموعة تجبر Bash على العمل بطرق متوافقة مع إصدارات معينة أقدم. قد يكون هذا مفيدًا لشخص ما ، لكنها حالة مناسبة إلى حد ما.

الإعلانات

يمكنك مراجعة صفحة Bash man أو دليل GNU Bash المرجعي. حدد الخيارات التي ستحدث فرقًا بالنسبة لك ، ثم جربها. فقط كن حذرا مع الخيارات التي تؤثر على طريقة توسيع أسماء الملفات والدليل. جربهم بأمر حميد ، مثل ls ، حتى تشعر بالراحة معهم.