من خلال كتابة الأوامر على سطر أوامر 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` القيام بذلك:
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.
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.