تكنولوجيا

أساسيات أتمتة Bash والبرمجة النصية (الجزء الأول) – CloudSavvy IT

شترستوك / موبي

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

ما هو ضرب التشغيل الآلي؟

إن Bash shell عبارة عن قشرة Linux قوية تتيح أتمتة عميقة للمهام المتكررة. إن Bash Linux shell ليس فقط الخيار الأول لمهندسي DevOps وقاعدة البيانات والاختبار ، ولكن يمكن للمستخدمين يوميًا الاستفادة من التعلم البطيء وزيادة مهارات Bash. Bash هي أيضًا لغة برمجة نصية وترميز تتطور معك. منذ عام 2012 ، كنت أعمل بنشاط على الترميز في Bash وأستخدمها لفترة أطول.

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

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

تتكون هذه السلسلة المصغرة من الجزء الأول ، والذي يتضمن ثلاثة أجزاء ، والتي سوف نقدم فيها أساسيات أتمتة Bash والبرمجة النصية.

نادي بانج

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

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

لذلك ، للتوسع في بياننا السابق: يجب أن يبدأ السطر الأول من نص Bash المكتوب جيدًا #!/bin/bash يشير إلى الغلاف (بغض النظر عن الغلاف المستخدم ، على سبيل المثال bash أو sh أو zsh) نريد نظام ثنائي /bin/bash (صدفة Bash الخاصة بنا) تنفذ هذا الكود.

دعونا نضعها موضع التنفيذ من خلال تحديد نص صغير exam.sh كما يلي:

#!/bin/bash

echo 'Hello CloudSavvyIT Visitors!'

يمكنك استخدام محرر النصوص المفضل لديك لإنشاء هذا البرنامج النصي ، ويفضل أن يكون محررًا يستخدم الخطوط أحادية المسافة فقط ، مثل ستةو همةو نانو أو بعض برامج التحرير المستندة إلى النص العادي في سطح مكتب Linux ، من الأفضل تجنب استخدام معالجات النصوص مثل OpenOffice Writer ، لأنها قد تكتب بيانات أو أحرفًا ثنائية إضافية في نصوصنا. بمعنى آخر ؛ نحن بحاجة إلى استخدام نص عادي.

بعد تحديد هذا البرنامج النصي ، نجعله قابلاً للتنفيذ عن طريق تنفيذ الأمر التالي chmod +x take a look at.sh في سطر الأوامر.بعد ذلك ، يمكننا بدء البرنامج النصي ببساطة عن طريق استدعاء بداية اسم البرنامج النصي ./: ./examination.sh

معلمات الإدخال

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

#!/bin/bash

echo "$1"

هنا نستخدم المعلمات الموضعية $1. ما لم يتم استخدام علامات الاقتباس ، سيعكس هذا المتغير الكلمة الأولى التي تم تمريرها إلى البرنامج النصي (مفصولة بمسافة افتراضيًا). دعونا نرى كيف يعمل:

بعد جعل النص قابل للتنفيذ مرة أخرى chmod +x check2.sh ننفذ نفس الأمر ونمرر كلمة hello كأول معلمة موضعية ($1).تحول hello there يتم الرد علينا.

هذا لأنه عندما يبدأ البرنامج النصي ، فإن المتغير $1 (أو $1 على الرغم من أنني أوصي دائمًا بوضع أسماء المتغيرات بين علامات اقتباس) ، قم بتعيينها على قيمة المعلمة الموضعية الأولى ؛ الكلمة الأولى بعد اسم البرنامج النصي أو سلسلة مقتبسة.

بعد ذلك مررنا hello there entire worldلكن هذا صدى فقط good day العودة إلينا.السبب بسيط ؛ يتم التعامل مع الكلمة الثانية (مفصولة بمسافة افتراضيًا) على أنها المعلمة الموضعية الثانية ، لذلك يتم تهيئتها إلى $2 في النص ، لا $1.

نحن نتحايل على هذا السلوك من خلال إحاطة علامات الاقتباس عند الكتابة 'Hello CloudSavvyIT Readers!'. على الرغم من اختلاف تشغيل علامات الاقتباس المفردة أو المزدوجة ، إلا أنه سيتم مناقشة ذلك أكثر في الجزء التالي من هذه السلسلة.والنتيجة هي المعلمة الموضعية الأولى لدينا $1 اضبط على النص الكامل Hi there CloudSavvyIT Readers!، لذلك أعطنا نفس المحتوى مرة أخرى.

إذا كنت تريد معرفة المزيد عن المتغيرات ، ووظائف Bash والمتغيرات المحلية وتصدير المتغيرات في Bash: لماذا وكيف قد تهمك المقالات أيضًا.

يتم إحتوائه

في هذه المقالة ، راجعنا الدفعة الأولى من أساسيات البرمجة النصية وأتمتة Bash. لقد تعلمنا ما هي Bas h Automation و Shebang ، وكيفية البدء في تمرير متغيرات الإدخال إلى البرامج النصية. في الجزء التالي من هذه السلسلة ، سنناقش المراجع المتغيرة والمزيد! ابقوا متابعين!

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى