مقدمة إلى Scripts Shell

 


Scripts Shell




الآن دعنا نصل إلى جوهر الأمر: برمجة الصدف. بم يتعلق الأمر ؟

تخيل لغة برمجة مصغرة مدمجة في Linux. إنها ليست لغة كاملة مثل لغة C أو C ++ أو Java على سبيل المثال ، ولكنها تسمح لك بأتمتة معظم مهامك: النسخ الاحتياطي للبيانات ، ومراقبة تحميل جهازك ، وما إلى ذلك.

كان بإمكاننا فعل كل هذا بشكل جيد للغاية من خلال إنشاء برنامج في لغة سي على سبيل المثال. الميزة الكبيرة للغة الصدفة هي أنها متكاملة تمامًا مع Linux: لا يوجد شيء لتثبيته ، ولا شيء لتجميعه. والأهم من ذلك: لديك القليل جدًا من الأشياء الجديدة لتتعلمها. في الواقع ، جميع الأوامر التي نستخدمها في برامج شل النصية هي أوامر نظام تعرفها بالفعل: ls، cut، grep، sort ...

سنتحدث كثيرًا عن الغلاف في هذا القسم. ما هو بالضبط؟ سنجيب على هذا السؤال أولاً.
ثم سنقوم بأول نص برمجي لدينا يعرض رسالة على الشاشة ... ويمكننا بعد ذلك البدء في العمل في الفصل التالي!

ما هي الصدفة؟ (Shell)

في وقت مبكر من هذا الكتاب ، ميزت بين بيئتين مختلفتين تمامًا متاحتين في Linux:

بيئة وحدة التحكم

البيئة الرسومية.

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

أخبرتك أن هناك العديد من البيئات الرسومية المتاحة (Unity ، KDE ، XFCE ...) ولكن كان هناك وحدة تحكم واحدة فقط. كذبت.

هناك العديد من بيئات وحدة التحكم: الأصداف
الفرق أقل بهرجة مما هو عليه في وضع الرسوم (حيث نرى على الفور أن القوائم ليست في نفس المكان ، على سبيل المثال).
تتميز وحدة التحكم دائمًا بخلفية سوداء ونص أبيض ، فأنا أطمئنكم (على الرغم من إمكانية تخصيصها ، ذلك). ومع ذلك ، قد تختلف الوظيفة التي يوفرها موجه الأوامر اعتمادًا على shell الذي تستخدمه.

بيئات وحدة التحكم المختلفة تسمى قذائف ، أليس كذلك؟

هذا كل شيء بالفعل. فيما يلي أسماء بعض الأصداف الرئيسية الموجودة.

sh: بورن شل. سلف كل القذائف.

باش: بورن مرة أخرى شل. تحسين على Bourne Shell ، متاح افتراضيًا على Linux و Mac OS X.

ksh: كورن شل. قذيفة قوية موجودة إلى حد ما على أنظمة Unixes الخاصة ، ولكنها متوفرة أيضًا في إصدار مجاني ، متوافق مع bash.

csh: C شل. قذيفة تستخدم بناء جملة مشابهًا للغة C.

tcsh: Tenex C Shell. تحسين C شل.

zsh: Z شل. قذيفة حديثة إلى حد ما مع أفضل الأفكار من bash و ksh و tcsh.

هناك عدد قليل ، ولكن لديك أهمها هناك.

ما الذي أحتاج إلى معرفته؟ بادئ ذي بدء ، فإن سلف جميع القذائف هو sh (Bourne Shell). إنه الأقدم ويتم تثبيته على جميع أنظمة التشغيل المستندة إلى Unix. ومع ذلك ، فهو ضعيف في الوظائف مقارنة بالأصداف الأخرى.

إن bash (Bourne Again Shell) هو الصدفة الافتراضية لمعظم توزيعات Linux بالإضافة إلى غلاف طرفية Mac OS X. هناك احتمالات ، هذا هو الذي تستخدمه حاليًا في Linux.
إن bash هو تحسين لل sh.

فيما يلي مخطط تفصيلي لكيفية تطور الأصداف. يرث كل منها معظم وظائف سلفه (الشكل التالي).








لا يزال sh أكثر انتشارًا من bash. في الواقع ، يمكنك التأكد من أن جميع أنظمة التشغيل المستندة إلى Unix بها sh ، ولكن ليس جميعها بها bash. بعض أنظمة التشغيل المستندة إلى Unix ، وخاصة أنظمة التشغيل الخاصة (AIX و Solaris ، إلخ) ، تستخدم أنواعًا أخرى من الأصداف ؛ ksh منتشر جدًا هناك ، على سبيل المثال.


ما هو دور Shell 


shell هو البرنامج الذي يقوم بتشغيل موجه الأوامر. لذلك فهو البرنامج الذي ينتظرك لإدخال الأوامر (كما هو موضح في الشكل التالي).





إنه أيضًا البرنامج القادر على سبيل المثال على:


تذكر آخر الأوامر التي تمت كتابتها (يمكنك الرجوع إلى السجل بالضغط على السهم "لأعلى" أو عن طريق إجراء بحث باستخدام Ctrl + R


 








الإكمال التلقائي لأمر أو اسم ملف عند الضغط على Tab (الشكل التالي) ؛

إدارة العمليات (إرسال إلى الخلفية ، وقفة مع Ctrl + Z ...) ؛

أوامر إعادة التوجيه والسلسلة (الرموز الشهيرة> ، <، | ، إلخ) ؛

تحديد الأسماء المستعارة (على سبيل المثال ll تعني ls -lArth بالنسبة لي).

باختصار ، توفر shell جميع الوظائف الأساسية لتتمكن من تشغيل الأوامر.

تذكر: قمنا بتحرير ملف .bashrc في أحد الفصول الأولى (الفصل الذي تعلمنا فيه كيفية استخدام Nano). bashrc هو ملف تكوين bash الذي يجعلك Linux تستخدمه افتراضيًا. يمكن لكل شخص الحصول على bashrc الخاص به لتخصيص موجه الأوامر والأسماء المستعارة وما إلى ذلك.

قم بتثبيت غلاف جديد
في الوقت الحالي ، يجب أن يكون لديك sh و bash مثبتين على نظامك. إذا كنت تريد تجربة صدفة أخرى ، مثل ksh على سبيل المثال ، فيمكنك تنزيلها مثل أي حزمة:



بمجرد التثبيت ، يجب أن تطلب استخدامه لحساب المستخدم الخاص بك. للقيام بذلك ، اكتب:



chsh تعني Change Shell.
سيتم سؤالك عن مكان البرنامج الذي يدير الصدفة. ستحتاج إلى تحديد / bin / ksh لـ ksh ، / bin / sh لـ sh ، / bin / bash لـ bash ، إلخ.

ما مدى أهمية كل هذا عند عمل نص شيل؟
إذا كنت أخبرك عن هذا ، فذلك لأن نص شل يعتمد على قشرة معينة. في الأساس ، اللغة ليست هي نفسها تمامًا اعتمادًا على ما إذا كنت تستخدم sh ، أو bash ، أو ksh ، وما إلى ذلك.

من الممكن كتابة نصوص sh على سبيل المثال. نحن متأكدون من أن هؤلاء يعملون في كل مكان لأن كل شخص لديه صدفة.
ومع ذلك ، فهذه هي أقدم قوقعة ، وكتابة النصوص في sh ممكن ، ولكن بصراحة ليست سهلة ولا مريحة.

ما هي الصدفة التي سنكتب نصوصنا بها ، إذن؟

أقترح دراسة باش في هذه الدورة للأسباب التالية:

تم العثور عليه افتراضيًا في Linux و Mac OS X (يغطي عددًا كافيًا من الأشخاص!) ؛

يجعل البرمجة أسهل من sh ؛

إنه أكثر شيوعًا من ksh و zsh على Linux.

من الواضح أن bash هو حل وسط جيد بين sh (الأكثر توافقًا) و ksh / zsh (أكثر قوة).







إرسال تعليق

comments (0)

أحدث أقدم