تنسيق وإرسال نتائج السكريبت بلغة Bash عبر البريد الإلكتروني
بالطبع، سأساعدك في كتابة سكريبت للقيام بذلك. يمكننا استخدام لغة البرمجة Bash لتحقيق هذا الهدف. قبل البداية، دعنا نفهم المطلوب في السيناريو.
لنقم بكتابة سكريبت Bash يقوم بتنفيذ الأمر wc
على الملفات المحددة ومن ثم يقوم بتنسيق النتائج في جدول وإرسالها عبر البريد الإلكتروني.
-
تأثير استخدام عناصر div فارغة12/03/2024
قم بفتح محرر النصوص المفضل لديك وأدخل الشيفرة التالية:
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”، ثم قم بإعطاء التصريح لتشغيله باستخدام الأمر:
bashchmod +x mail_script_output.sh
ثم يمكنك تشغيل السكريبت باستخدام:
bash./mail_script_output.sh
ستقوم الشيفرة بتنفيذ الأمر wc
على الملفات المحددة، ثم تنسيق النتائج في جدول وإرسالها عبر البريد الإلكتروني كمرفق نصي. يمكنك تخصيصها حسب احتياجاتك.
المزيد من المعلومات
بالطبع، دعنا نوسع على السكريبت الذي تم كتابته لتوضيح المزيد من المعلومات.
في الشيفرة المقدمة، يتم استخدام اللغة البرمجية Bash لتنفيذ الأمر wc
، الذي يحسب عدد الكلمات والأسطر والبايتات في الملفات المحددة. النتيجة ثم تُرسل عبر البريد الإلكتروني بتنسيق جدولي يحتوي على رأس يعرض اسم الملف، الوجهة المستهدفة (التي هي دائمًا “default” في هذا السيناريو)، عدد الصفوف، وحجم البايتات.
لنفصل على الأكواد المستخدمة:
-
result=$(wc file1 file2 file3 file4)
: يتم تخزين نتيجة أمرwc
في متغير باسمresult
. -
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
. -
echo "$formatted_result" | mail -s "Script Output" [email protected]
: يتم إرسال النتائج المنسقة عبر البريد الإلكتروني باستخدام أمرmail
. يمكنك استبدال[email protected]
بعنوان بريدك الإلكتروني الخاص.
هذا السكريبت يعتبر مثالًا بسيطًا على كيفية استخدام لغة البرمجة Bash لأتمتة العمليات وتنسيق النتائج بشكل مناسب. يمكنك تخصيصه وتطويره وفقًا لاحتياجاتك الخاصة، مثل إضافة مزيد من الملفات أو التعامل مع تنسيقات البريد الإلكتروني بشكل أفضل.