البرمجة

تنسيق وإرسال نتائج السكريبت بلغة Bash عبر البريد الإلكتروني

بالطبع، سأساعدك في كتابة سكريبت للقيام بذلك. يمكننا استخدام لغة البرمجة Bash لتحقيق هذا الهدف. قبل البداية، دعنا نفهم المطلوب في السيناريو.

لنقم بكتابة سكريبت Bash يقوم بتنفيذ الأمر wc على الملفات المحددة ومن ثم يقوم بتنسيق النتائج في جدول وإرسالها عبر البريد الإلكتروني.

قم بفتح محرر النصوص المفضل لديك وأدخل الشيفرة التالية:

bash
#!/bin/bash # Run the wc command on specified files result=$(wc file1 file2 file3 file4) # Format the results into a table with header formatted_result=$(echo "$result" | awk 'BEGIN{printf "%-10s%-10s%-10s%-10s\n", "Filename", "Destname", "rowcount", "bytesize"} {printf "%-10s%-10s%-10s%-10s\n", $4, "default", $1, $3}') # Mail the formatted results echo "$formatted_result" | mail -s "Script Output" [email protected]

يرجى استبدال [email protected] بعنوان البريد الإلكتروني الذي ترغب في إرسال النتائج إليه.

يمكنك حفظ هذا السكريبت في ملف مثل “mail_script_output.sh”، ثم قم بإعطاء التصريح لتشغيله باستخدام الأمر:

bash
chmod +x mail_script_output.sh

ثم يمكنك تشغيل السكريبت باستخدام:

bash
./mail_script_output.sh

ستقوم الشيفرة بتنفيذ الأمر wc على الملفات المحددة، ثم تنسيق النتائج في جدول وإرسالها عبر البريد الإلكتروني كمرفق نصي. يمكنك تخصيصها حسب احتياجاتك.

المزيد من المعلومات

بالطبع، دعنا نوسع على السكريبت الذي تم كتابته لتوضيح المزيد من المعلومات.

في الشيفرة المقدمة، يتم استخدام اللغة البرمجية Bash لتنفيذ الأمر wc، الذي يحسب عدد الكلمات والأسطر والبايتات في الملفات المحددة. النتيجة ثم تُرسل عبر البريد الإلكتروني بتنسيق جدولي يحتوي على رأس يعرض اسم الملف، الوجهة المستهدفة (التي هي دائمًا “default” في هذا السيناريو)، عدد الصفوف، وحجم البايتات.

لنفصل على الأكواد المستخدمة:

  1. result=$(wc file1 file2 file3 file4): يتم تخزين نتيجة أمر wc في متغير باسم result.

  2. formatted_result=$(echo "$result" | awk 'BEGIN{printf "%-10s%-10s%-10s%-10s\n", "Filename", "Destname", "rowcount", "bytesize"} {printf "%-10s%-10s%-10s%-10s\n", $4, "default", $1, $3}'): يتم استخدام أمر awk لتنسيق النتائج في جدول. يتم طباعة الرأس أولاً، ثم يتم طباعة البيانات المنسقة بشكل صحيح من نتيجة الأمر wc.

  3. echo "$formatted_result" | mail -s "Script Output" [email protected]: يتم إرسال النتائج المنسقة عبر البريد الإلكتروني باستخدام أمر mail. يمكنك استبدال [email protected] بعنوان بريدك الإلكتروني الخاص.

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

زر الذهاب إلى الأعلى