المتغيرات في الـ Scripts
جزء من قسم الأساسيات في رحلة Terminal على Coddy. الدرس 68 من 82.
تجعل المتغيرات نصوصك البرمجية مرنة وقابلة لإعادة الاستخدام. وبدلًا من ترميز القيم بشكل ثابت، يمكنك تخزينها في متغيرات والإشارة إليها في جميع أنحاء نصك البرمجي.
لإنشاء متغير داخل برنامج نصي، استخدم الصياغة نفسها التي تعلمتها للطرفية: لا تضع مسافات حول علامة التساوي. لاستخدام قيمة المتغير، ضع علامة الدولار قبل اسمه:
#!/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 في تعطيل الأمر.
تعمل المتغيرات في البرامج النصية تمامًا كما تعمل في الطرفية، لكنها لا تكون موجودة إلا أثناء تشغيل البرنامج النصي. وبمجرد انتهاء البرنامج النصي، تختفي تلك المتغيرات.
التحدي
سهلأنشئ برنامجًا نصيًا للصدفة باسم intro.sh يستخدم متغيرات لعرض رسالة مخصصة.
يجب أن يقوم برنامجك بما يلي:
- يبدأ بسطر shebang (
#!/bin/bash) - ينشئ متغيرًا باسم
languageوقيمتهBash - ينشئ متغيرًا باسم
skillوقيمتهscripting - يستخدم
echoلطباعة المتغيرين بالتنسيق التالي:Learning Bash scripting!
اجعل البرنامج النصي قابلًا للتنفيذ وشغّله. يجب أن يكون الناتج:
Learning Bash scripting!ضع كل سطر تكتبه بين علامتي اقتباس مفردتين:
echo 'echo "Hello $name"' >> script.sh. تمنع علامات الاقتباس المفردة الصدفة من استبدال$nameأثناء كتابة الملف، لذلك يحتفظ البرنامج النصي بالمتغير ويوسّعه عند تشغيله. أما علامتا الاقتباس المزدوجتان فستستبدلان القيمة فورًا.
تلميح: أنشئ البرنامج النصي باستخدام
echoمع إعادة التوجيه. تذكّر الإشارة إلى المتغيرات باستخدام$في تعليمة echo، مثلecho "Learning $language $skill!"
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
7محتوى الملف
Head و Tailعد الكلمات (Word Count)أمر Sortأمر Uniqueأساسيات GrepGrep مع الخياراتملخص - محقق النصوص13أساسيات برمجة Shell
ما هو Shell Script؟إنشاء وتشغيل Scriptالمتغيرات في الـ Scriptsمدخلات المستخدم في الـ Scriptsجملة If الشرطيةحلقة For التكراريةحلقة While التكراريةمراجعة - مخمن الأرقام2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدرتدرّب بنفسك: Playground لـ Terminal