OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

استمر في تشغيل البرامج النصية

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



[me @ linuxbox ~] $ sys_info_page

تقرير معلومات النظام لـ twin2

[me @ linuxbox ~] $ sys_info_page

تقرير معلومات النظام لـ twin2


تقرير معلومات النظام للينكس بوكس

تم توليده في 03/19/2009 04:02:10 مساءً بتوقيت شرق الولايات المتحدة ، بواسطتي


تقرير معلومات النظام للينكس بوكس

تم توليده في 03/19/2009 04:02:10 مساءً بتوقيت شرق الولايات المتحدة ، بواسطتي



نرى أن هناك بعض الأسطر الفارغة في إخراجنا بعد الطابع الزمني ، لكن لا يمكننا التأكد من السبب. إذا قمنا بتغيير الوظائف لتشمل بعض التعليقات:



Report_uptime () {

صدى "تم تنفيذ تقرير الوظيفة."

عائد أعلى

}


Report_disk_space () {

صدى "تنفيذ report_disk_space للوظيفة."

عائد أعلى

}


Report_home_space () {

صدى "وظيفة report_home_space تم تنفيذها."

عائد أعلى

}

Report_uptime () {

صدى "تم تنفيذ تقرير الوظيفة."

عائد أعلى

}


Report_disk_space () {

صدى "تنفيذ report_disk_space للوظيفة."

عائد أعلى

}


Report_home_space () {

صدى "وظيفة report_home_space تم تنفيذها."

عائد أعلى

}


وقم بتشغيل البرنامج النصي مرة أخرى:



[me @ linuxbox ~] $ sys_info_page

تقرير معلومات النظام للينكس بوكس

تقرير معلومات النظام للينكس بوكس

تم توليده في 03/20/2009 05:17:26 AM EDT، بواسطتي تم تنفيذ تقرير الوظيفة.

تم تنفيذ report_disk_space للوظيفة. تم تنفيذ report_home_space للوظيفة.

[me @ linuxbox ~] $ sys_info_page

تقرير معلومات النظام للينكس بوكس

تقرير معلومات النظام للينكس بوكس

تم توليده في 03/20/2009 05:17:26 AM EDT، بواسطتي تم تنفيذ تقرير الوظيفة.

تم تنفيذ report_disk_space للوظيفة. تم تنفيذ report_home_space للوظيفة.

استمر في تشغيل البرامج النصية


نرى الآن أنه في الواقع ، يتم تنفيذ وظائفنا الثلاث.

مع وجود إطار عمل وظيفي في مكانه وعمله ، فقد حان الوقت لتوضيح بعض كود الوظيفة. لأول مرة Report_uptime وظيفة:


Report_uptime () {

قطة << - _EOF_

جاهزية النظام

$ (الجهوزية)

_EOF_

عائد أعلى

}

Report_uptime () {

قطة << - _EOF_

جاهزية النظام

$ (الجهوزية)

_EOF_

عائد أعلى

}


إنه أمر بسيط ومباشر. نستخدم مستندًا هنا لإخراج رأس قسم وإخراج ملف شغالة أمر محاط العلامات للحفاظ على تنسيق الأمر. ال report_disk_space الوظيفة مشابهة:


Report_disk_space () {

قطة << - _EOF_

استخدام مساحة القرص

$ (df -h)

_EOF_

عائد أعلى

}

Report_disk_space () {

قطة << - _EOF_

استخدام مساحة القرص

$ (df -h)

_EOF_

عائد أعلى

}


تستخدم هذه الوظيفة ملف مدافع -h أمر لتحديد مقدار مساحة القرص. أخيرًا ، سنقوم ببناء report_home_space وظيفة:


Report_home_space () {

قطة << - _EOF_

استخدام مساحة المنزل

$ (du -sh / home / *)

_EOF_

عائد أعلى

}

Report_home_space () {

قطة << - _EOF_

استخدام مساحة المنزل

$ (du -sh / home / *)

_EOF_

عائد أعلى

}


نستخدم du الأمر مع خيارات لأداء هذه المهمة. هذا ، مع ذلك ، ليس حلا كاملا للمشكلة. بينما سيعمل على بعض الأنظمة (Ubuntu ، على سبيل المثال) ، فإنه لن يعمل على أنظمة أخرى. والسبب هو أن العديد من الأنظمة تضع أذونات الدلائل الرئيسية لمنعها من أن تكون قابلة للقراءة على مستوى العالم ، وهو مقياس أمان معقول. على هذه الأنظمة ، فإن report_home_space وظيفة ، كما هو مكتوب ، سوف


صورة

يعمل فقط إذا تم تشغيل البرنامج النصي الخاص بنا بامتيازات المستخدم المتميز. الحل الأفضل هو جعل البرنامج النصي يضبط سلوكه وفقًا لامتيازات المستخدم. سوف نتناول هذا في الفصل التالي.


وظائف شل في ملف .bashrc الخاص بك

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

س () {

صدى "Disk Space Utilization For $ HOSTNAME" df -h

}


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: