في عالم تطوير البرمجيات وأنظمة التشغيل بنظام Unix وLinux، تعتبر كتابة سكربتات الصدفة (Shell Scripts) من الوسائل الفعّالة لتنفيذ مهام متكررة أو أوامر متتالية. واحدة من الأدوات القوية المتاحة لديك لتحقيق ذلك هي “Here Documents” أو ما يُعرف أحيانًا بـ “Here Scripts”.
تأتي فكرة Here Scripts من الرغبة في تحسين القابلية للقراءة والصيانة لسكربتات الصدفة. يمكنك تصويرها كمدخلات نصية متعددة الأسطر تتمثل في سلسلة أوامر يقوم الشل بتنفيذها تلقائيًا. هذا يسهل فهم هيكل السكربت ويجعله أكثر تنظيمًا.
-
أتمتة إدارة الأنظمة عبر Ansible على Ubuntu24/11/2023
-
Docker: تسريع التطوير بفعالية وأمان05/01/2024
-
استكشاف أساسيات Shell في Red Hat Linux23/11/2023
لنقم بفحص كيف يمكنك استخدام Here Scripts في سكربت الصدفة. عندما تقوم بتشغيل سكربت، يتم قراءة المدخلات الموجودة بين علامتي “<<-" و "EOF" كإدخال للأمر الذي تقوم بتحديده. على سبيل المثال:
bash#!/bin/bash
# بداية Here Script
cat <<-EOF
هذا مثال على Here Script في سكربت الصدفة.
يمكنك وضع الأوامر هنا بشكل منظم.
EOF
# نهاية Here Script
في هذا المثال، يتم استخدام أمر cat
لطباعة نص توضيحي. الجزء الرئيسي هو بين <<-EOF
و EOF
، حيث يتم تحديد نهاية المدخلات.
إذا كنت ترغب في تضمين متغيرات في Here Script، يمكنك فعل ذلك بسهولة. على سبيل المثال:
bash#!/bin/bash
# تعريف متغير
name="العالم"
# بداية Here Script
cat <<-EOF
مرحباً، $name!
هذا مثال آخر على Here Script في سكربت الصدفة.
EOF
# نهاية Here Script
في هذا المثال، يظهر متغير $name
في النص الذي تم تضمينه في Here Script.
يمكنك استخدام Here Scripts مع مجموعة متنوعة من الأوامر والتكوينات، مما يتيح لك تحقيق مرونة أكبر في كتابة سكربتات الصدفة. يجمع استخدامك لهذه التقنية بين الوظائف القوية للشل والقراءة السهلة، مما يسهم في تحسين إنتاجيتك وفعاليتك كمطور أو مسؤول نظام.
المزيد من المعلومات
تتيح Here Scripts في سكربتات الصدفة للمطورين الاستفادة من إمكانيات قوية أخرى، مثل تنسيق النصوص وتحويل المخرجات. عندما تكون تكوين Here Script مثل "<<-"، يتم تحقيق التحويل التلقائي للفراغات الزائدة في بداية كل سطر. هذا يجعل السكربت أكثر قراءة وتنظيمًا، خاصةً عندما يتطلب النص تنسيقًا دقيقًا.
علاوة على ذلك، يمكنك توجيه مخرجات الأوامر إلى ملف أو متغير باستخدام Here Script. على سبيل المثال، إذا كنت ترغب في تخزين نتيجة أمر داخل متغير، يمكنك القيام بذلك كما يلي:
bash#!/bin/bash
# تعيين قيمة المتغير
result=$(cat <<-EOF
هذا نص تم إخراجه من Here Script.
يمكن أن يحتوي على أي تنسيق تريده.
EOF
)
# طباعة قيمة المتغير
echo "$result"
في هذا المثال، تم استخدام Here Script لتعبئة المتغير result
بنص معين، ثم تم طباعة قيمة المتغير باستخدام أمر echo
. هذا يسمح لك بتحديد أوامر متعددة وتوجيه مخرجاتها إلى المتغيرات بسهولة.
علاوة على ذلك، يمكن استخدام Here Scripts مع الحلقات التكرارية لتنفيذ سلاسل من الأوامر. على سبيل المثال:
bash#!/bin/bash
# بداية Here Script مع حلقة تكرارية
while read line; do
echo "السطر: $line"
done <<-EOF
أول سطر
ثاني سطر
ثالث سطر
EOF
# نهاية Here Script
هنا، يتم قراءة السطور من Here Script باستخدام حلقة while
، حيث يتم طباعة كل سطر مع إضافة تنسيق إضافية.
في الختام، تقدم Here Scripts وسيلة فعّالة لتحسين قراءة وصيانة سكربتات الصدفة. باستخدامها بشكل إبداعي، يمكنك تحقيق مزيد من المرونة والكفاءة في كتابة الأوامر والتحكم في سياقات مختلفة داخل السكربت.
الخلاصة
في الختام، يمثل استخدام Here Scripts في سكربتات الصدفة خطوة فعّالة نحو تحسين قراءة وصيانة الشيفرة البرمجية. تتيح للمطورين إمكانية تنظيم وتنسيق الأوامر بشكل أفضل، مما يساهم في جعل السكربتات أكثر فهمًا وتوضيحًا. باستخدام Here Scripts، يصبح بإمكانك تنسيق النصوص بسهولة، وتحويل المخرجات، وتنفيذ أوامر متعددة في سياق واحد.
يتيح لك هذا الأسلوب الكتابي المبتكر استخدام المتغيرات وتنظيم الأكواد بشكل أكثر دقة وتأثيرًا. بالإضافة إلى ذلك، يمكنك توجيه مخرجات الأوامر إلى متغيرات، مما يتيح لك السيطرة الكاملة على تدفق البيانات داخل السكربت.
في نهاية المطاف، يعزز استخدام Here Scripts فعالية البرمجة في سياق سكربتات الصدفة، ويسهم في تحسين إنتاجية المطورين وتحسين صيانة الشيفرة على المدى الطويل.