المتغيرات في الـ Scripts
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 68 من 82.
تجعل المتغيرات نصوصك البرمجية مرنة وقابلة لإعادة الاستخدام. فبدلاً من كتابة القيم بشكل ثابت، يمكنك تخزينها في متغيرات والإشارة إليها في جميع أنحاء النص البرمجي الخاص بك.
لإنشاء متغير داخل نص برمجي (script)، استخدم نفس الصيغة التي تعلمتها لمبنى الأوامر (terminal): لا توجد مسافات حول علامة التساوي. لاستخدام قيمة المتغير، أضف علامة الدولار كبادئة لاسمه:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"يقوم هذا السكربت بإخراج Hello, World!. تخزن المتغيرات greeting و name نصاً يتم استبداله عند تشغيل السكربت.
تصبح المتغيرات مفيدة بشكل خاص عندما تحتاج إلى استخدام نفس القيمة عدة مرات. إذا كنت تشير إلى مسار ملف في عدة أماكن، فإن تخزينه في متغير يعني أنك ستحتاج فقط إلى تغييره مرة واحدة:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"لاحظ علامات الاقتباس حول "$backup_dir". يعد تغليف المتغيرات بعلامات اقتباس مزدوجة ممارسة جيدة لأنه يتعامل مع المسارات أو القيم التي تحتوي على مسافات بشكل صحيح. بدون علامات الاقتباس، فإن مساراً مثل /my documents سيؤدي إلى تعطل أمرك.
تعمل المتغيرات في السكربتات تماماً كما في الطرفية، ولكنها تظل موجودة فقط أثناء تشغيل السكربت. وبمجرد انتهاء السكربت، تختفي تلك المتغيرات.
التحدي
سهلأنشئ نصاً برمجياً لـ shell يسمى intro.sh يستخدم المتغيرات لعرض رسالة مخصصة.
يجب أن يقوم النص البرمجي الخاص بك بـ:
- ابدأ بسطر shebang (
#!/bin/bash) - أنشئ متغيراً يسمى
languageبالقيمةBash - أنشئ متغيراً يسمى
skillبالقيمةscripting - استخدم
echoلطباعة كلا المتغيرين بالتنسيق التالي:Learning Bash scripting!
اجعل النص البرمجي قابلاً للتنفيذ وقم بتشغيله. يجب أن يكون المخرج الخاص بك:
Learning Bash scripting!تلميح: أنشئ النص البرمجي باستخدام
echoمع إعادة التوجيه (redirection). تذكر الإشارة إلى المتغيرات باستخدام$في جملة echo الخاصة بك، مثلecho "Learning $language $skill!"
ورقة مرجعية
تخزن المتغيرات في سكربتات Bash القيم التي يمكن الرجوع إليها في جميع أنحاء السكربت. قم بإنشاء المتغيرات بدون مسافات حول علامة التساوي، وقم بالوصول إلى قيمها عن طريق وضع بادئة لاسم المتغير بـ $:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"قم دائمًا بإحاطة المتغيرات بعلامات اقتباس مزدوجة للتعامل مع القيم التي تحتوي على مسافات بشكل صحيح:
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"توجد المتغيرات فقط أثناء تشغيل السكربت وتختفي عند انتهائه.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
7محتوى الملف
Head و Tailعد الكلمات (Word Count)أمر Sortأمر Uniqueأساسيات GrepGrep مع الخياراتملخص - محقق النصوص13أساسيات برمجة Shell
ما هو Shell Script؟إنشاء وتشغيل Scriptالمتغيرات في الـ Scriptsمدخلات المستخدم في الـ Scriptsجملة If الشرطيةحلقة For التكراريةحلقة While التكراريةمراجعة - مخمن الأرقام2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر