شروحات الكمبيوتر والإنترنت والموبايل

توجيه مخرجات Bash إلى ملف و stdout في آن واحد

مقدمة

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

طريقة إعادة توجيه المخرجات في Bash

تحتوي لغة البرمجة Bash على آليات قوية تسمح بإعادة توجيه المخرجات بكل سلاسة. يمكننا استخدام الأوامر المختلفة لتوجيه المخرجات إلى ملفات أو إلى الشاشة. عادةً ما يُستخدم < و > و 2> للتعامل مع المدخلات والمخرجات. لكن ما هو الحل الذي يمكن استخدامه لإعادة توجيه المخرجات إلى كل من ملف وصندوق الإخراج في نفس الوقت؟

استخدام `tee` لإعادة توجيه المخرجات

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

command | tee output.txt

في المثال أعلاه، يتم توجيه مخرجات الأمر إلى كل من ملف output.txt وصندوق الإخراج.

كيفية التعامل مع `stderr` و `stdout`

بالإضافة إلى إعادة توجيه المخرجات العادية (stdout)، قد نحتاج أحياناً إلى التعامل مع stderr (المخرجات القياسية للخطأ). تتطلب هذه العمليات في كثير من الأحيان خطوات إضافية. يمكننا استخدام الأنابيب في Bash لتوجيه stderr إلى tee أيضًا.

لننظر إلى المثال التالي:

func 2> >(tee error.log) | cat

هنا، نعيد توجيه stderr الخاص بالأمر إلى ملف، بينما تبقى مخرجات stdout مرئية في الشاشة. يجب الانتباه إلى عدم وجود مسافات بين الرموز المختلفة في هذا التعريف.

شرح الأداء الأمثل لإعادة التوجيه

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

func 2> >(tee error.log) | cat

بذلك، يتم توجيه جميع مخرجات stdout وكذلك stderr على نحو فعال دون تضارب.

أهمية إعادة توجيه المخرجات

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

بالمجمل، يعد فهم كيفية إعادة توجيه المخرجات في Bash، سواء كانت إلى ملف أو إلى stdout، أساسًا للبرمجة المتقدمة. باستخدام الأدوات المناسبة، يمكن تحسين قدرات البرامج وتحسين جودة العمل بشكل كبير.

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

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!

يستخدم موقعنا ملفات تعريف الارتباط لجمع معلومات حول زيارتك بهدف تحسين موقعنا (من خلال التحليل)، وعرض محتوى وسائل التواصل الاجتماعي والإعلانات ذات الصلة. يرجى الاطلاع على صفحة سياسة الخصوصية لمزيد من التفاصيل، أو الموافقة من خلال النقر على زر "قبول".

إعدادات ملفات تعريف الارتباط  

فيما يلي يمكنك اختيار نوع ملفات تعريف الارتباط التي تسمح بها على هذا الموقع. انقر على زر "حفظ إعدادات ملفات تعريف الارتباط" لتطبيق اختيارك.

ملفات ضرورية.يستخدم موقعنا ملفات تعريف الارتباط الوظيفية. هذه الملفات ضرورية لعمل موقعنا بشكل صحيح.

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

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

إعلانات.يضع موقعنا ملفات تعريف الارتباط الإعلانية لعرض إعلانات من جهات خارجية بناءً على اهتماماتك. قد تقوم هذه الملفات بتتبع بياناتك الشخصية.

أخرى.يضع موقعنا ملفات تعريف الارتباط من جهات خارجية أخرى ليست تحليلية أو خاصة بوسائل التواصل الاجتماعي أو الإعلانات.