عرض رسائل المستخدم في Bash

من موسوعة حسوب
< Bash
مراجعة 18:02، 1 سبتمبر 2018 بواسطة أسامه-دمراني (نقاش | مساهمات) (إدخال 2.1 حذف سطر فارغ)
اذهب إلى التنقل اذهب إلى البحث

برامج تفاعلية أم غير تفاعلية؟

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

لا تتكاسل عن كتابة التعليقات في برامجك أثناء كتابة برامج تفاعلية، فالبرامج التي تطبع رسائل مناسبة تكون صديقة للمستخدم أكثر ويسهل تصحيح أخطائها (Debugging)، وقد يكون برنامجك ممتازًا لكن رغم ذلك تجد نفسك تتلقى اتصالات طلبًا للدعم الفني إن لم يكن البرنامج يخبر المستخدم بما ينفِّذُه، لذا تأكد من وضع رسائل تخبر المستخدم على سبيل المثال أن ينتظر ظهور الخَرْج لأن البرنامج يجري حسابات الآن. كذلك حاول -كلما أمكن- أن تقدم تقديرًا لطول العملية الجارية أو المدة التي يجب أن ينتظرها المستخدم، فإن كان الانتظار سيطول فربما يجب أن تضع مؤشرًا لتقدم العملية في خرج برنامجك.

كذلك يُفضَّل في حالة طلب إدخالٍ من المستخدم أن تعطي معلومات واضحة وشافية عن البيانات التي تود من المستخدم أن يدخلها، وينطبق هذا على فحص الوسائط (arguments) ورسائل الاستخدام (Usage Messages) المصاحِبة لها أيضًا.

والأوامر التي تستخدمها لتطبع تعليقاتك للمستخدم هي echo و printf، وسنناقش بعض الأمثلة فيما يلي رغم أنك قد تكون معتادًا على استخدام echo بالفعل.

استخدام أمر echo

يُخرج أمر echo وسائطه (arguments) مفصولين بمسافات وينتهون بمحرف السطر الجديد، وتكون حالة الإعادة صفرًا