freeCodeCamp/guide/arabic/linux/writing-a-bash-script/index.md

5.6 KiB

title localeTitle
Writing a Bash Script كتابة سيناريو باش

كتابة سيناريو باش

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

ما هو باش؟

Bash هو اسم مترجم سطر الأوامر ، وهو برنامج يجعل من المنطقي أوامر Linux التي تدخلها في الأمر موجه ، أو في البرنامج النصي الخاص بك.

ماذا يوجد في البرنامج النصي؟

البرنامج النصي هو مجرد ملف. يتكون النص الأساسي من سطر تمهيدي يخبر الخادم بما يجب عليه ، والآخر أو المزيد من الإرشادات للتنفيذ. إليك مثال على ذلك:

#!/bin/bash echo "Hi. I'm your new favorite bash script."

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

ما هو التعليق؟

التعليقات هي نص تضيفه إلى النص البرمجي الذي تنوي أن تتجاهله bash. تبدأ التعليقات بعلامة الجنيه ، وتكون مفيدة لـ شرح التعليمة البرمجية حتى تتمكن أنت والمستخدمين الآخرين من فهمها. لإضافة تعليق ، اكتب الرمز # ، متبوعًا بأي نص هذا مفيد لك. باش سوف يتجاهل # وكل شيء بعده.

ملاحظة: السطر الأول من النص البرمجي ليس تعليقًا. يكون هذا السطر دائمًا أولاً ، ويبدأ دائمًا بـ #! ولديه خاصة معنى باش.

هنا النصي من قبل ، وعلق:

#!/bin/bash # Designates the path to the bash program. Must start with '#!' (but isn't a comment). echo "Hi. I'm your new favorite bash script." # 'echo' is a program that sends a string to the screen.

تنفيذ البرنامج النصي

يمكنك فتح محرر نصوص ، ولصق رمز المثال هذا وحفظ الملف ، ولديك برنامج نصي. البرامج النصية هي تقليديا اسمه في النهاية بـ ".sh" ، لذلك قد تحفظ هذا الرمز على أنه myscript.sh.

لن يتم تنفيذ النص البرمجي حتى نقوم بعمل أمرين:

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

chmod +x my script.sh

ثانيا ، قم بتشغيله. نقوم بتنفيذ البرنامج النصي من سطر الأوامر تمامًا مثل أي أمر آخر مثل ls أو date . النص الاسم هو الأمر ، ويجب أن تسبقه بـ "./" عند تسميته:

./myscript.sh # Outputs "Hi. I'm your new favorite bash script." (This part is a comment!)

الشرطية

في بعض الأحيان ترغب في أن يقوم برنامجك النصي بعمل شيء ما فقط إذا كان هناك شيء آخر صحيح. على سبيل المثال ، طباعة رسالة فقط إذا كانت القيمة تحت حد معين. في ما يلي مثال لاستخدامه في if القيام بذلك:

`#!/bin/bash

count=1 # Create a variable named count and set it to 1

if $count -lt 11 ; then # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block. echo "$count is 10 or less" # This will print, because count = 1. fi # Every if ends with fi `

وبالمثل ، يمكننا ترتيب البرنامج النصي بحيث ينفذ تعليمات فقط بينما يكون شيء ما صحيحًا. سنقوم بتغيير الكود بحيث قيمة التغيرات المتغيرة العد:

`#!/bin/bash

count=1 # Create a variable named count and set it to 1

while $count -lt 11 ; do # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block. echo "$count is 10 or less" # This will print as long as count <= 10. count=$((count+1)) # Increment count done # Every while ends with done `

سيظهر ناتج هذا الإصدار من myscript.sh بالشكل التالي:

"1 is 10 or less" "2 is 10 or less" "3 is 10 or less" "4 is 10 or less" "5 is 10 or less" "6 is 10 or less" "7 is 10 or less" "8 is 10 or less" "9 is 10 or less" "10 is 10 or less"

مخطوطات العالم الحقيقي

هذه الأمثلة ليست مفيدة بشكل كبير ، ولكن المبادئ هي. باستخدام while ، if ، وأي أمر قد اكتب خلاف ذلك يدوياً ، يمكنك إنشاء برامج نصية تقوم بعمل قيّم.