الفرق بين المراجعتين لصفحة: «Bash/script basics»
أسامه-دمراني (نقاش | مساهمات) مراجعة: تعديل المصادر |
أسامه-دمراني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 46: | سطر 46: | ||
== مصادر == | == مصادر == | ||
* [http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_02.html صفحة أساسيات كتابة برامج Bash | * [http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_02.html دليل Bash للمبتدئين، صفحة أساسيات كتابة برامج Bash] . | ||
[[تصنيف:Bash]] | [[تصنيف:Bash]] | ||
[[تصنيف:Bash Scripts]] | [[تصنيف:Bash Scripts]] | ||
[[تصنيف:Bash Commenting Scripts]] | [[تصنيف:Bash Commenting Scripts]] |
المراجعة الحالية بتاريخ 22:10، 5 سبتمبر 2018
في أي صدفة سيعمل البرنامج؟
يجب أن تحدد الصدفة التي ستنفِّذ البرنامج إذا أردت تنفيذه في صدفة فرعية، فقد لا تكون الصدفة التي كتبت فيها البرنامج هي الصدفة الافتراضية لنظامك، وعليه قد تُنتِج أوامر برنامجك أخطاءً عند تنفيذها في الصدفة الخطأ.
يحدد أول سطر في البرنامج نوع الصدفة، ويجب أن يكون أول محرفين في ذلك السطر !#
، ثم يتلو ذلك مسار الصدفة التي ستنفِّذ البرنامج. كذلك لا تبدأ برنامجك بسطر فارغ إذ تُقرأ الأسطر الفارغة على أنها أسطر أيضًا، وستبدأ كل البرامج في هذا الشرح بالسطر التالي:
#!/bin/bash
يشير السطر السابق أن Bash موجودة في bin/
.
إضافة تعليقات
يجب أن تدرك أن برنامجك قد يطلع عليه غيرك ويقرؤه، فإن كثيرًا من المستخدمين ومدراء النظم يستخدمون برامج للصدفة كتبها غيرهم، فإن كنت ترغب في أن يفهم أولئك المستخدمين أسلوب كتابتك لبرنامجك فعليك أن تسجل فيه تعليقات عما فعلته فيه.
بل إن التعليقات تيسّر عليك أنت أمر التعديل في البرنامج والرجوع إلى ما كتبت مرة أخرى، فلنقل أنك قرأت كثيرًا من صفحات man
لتحقق نتيجة معينة بأحد الأوامر التي استخدمتها في برنامجك ثم احتجت أن تغير شيفرتك تلك بعدها، كيف ستتذكر شكل البرنامج الأول بعد أسبوعين من التغيير الجديد إن لم تكن قد سجلت تعليقات فيه بما فعلت وكيف فعلته، والسبب الذي دفعك لاختيار تلك الأوامر أو التعديلات؟
انسخ ملف script1.sh
في مثال إنشاء وتشغيل برنامج Bash وسمّه commented-script1.sh
، وسنعدّل محتواه بحيث تصف التعليقات ما تفعله الأوامر، انتبه إلى أن أي شيء تقابله الصدفة بعد علامة #
في أي سطر فإنها تتجاهله، ولا يظهر إلا عند فتح الملف المصدري للبرنامج:
#!/bin/bash
# يمسح هذا البرنامج محتوى الطرفية، ويحيِّي المستخدم ويعطي معلومات عن المستخدمين
# المتصلين في وقت تنفيذ البرنامج. المتغيران المستخدمان كأمثلة مهيئان ومعروضان
clear # امسح محتويات الطرفية فورًا
echo "The script starts now."
echo "Hi, $USER!" # تُستخدم علامة الدولار لجلب محتوى أحد المتغيرات
echo
echo "I will now fetch you a list of connected users:"
echo
w # اعرض من سجّل الدخول وماذا يفعل
echo
echo "I'm setting two variables now."
COLOR="black" # اضبط متغير محلي للصدفة
VALUE="9" # اضبط متغير محلي للصدفة
echo "This is a string: $COLOR" # اعرض محتوى المتغير
echo "And this is a number: $VALUE" # اعرض محتوى المتغير
echo
echo "I'm giving you back your prompt now."
echo
تكون أول أسطر في برامج الصدفة عادة عبارة عن تعليقات تشرح طبيعة المهام التي ينفذها البرنامج، ثم يُصحب كل قطعة من الشيفرة بتعليق أو أكثر للتوضيح. ستجد مثالًا على ذلك في مجلد init.d
في نظامك، إذ أن شيفرات init موثقة جيدًا لأنها معرضة للقراءة والتعديل من أي مستخدم للينكس.