إجابات حول تصحيح أخطاء Bash: رموز الخروج والحجج وأدوات الفحص
أساسيات Bash
كيف يساعد وضع التصحيح (debug) في Bash عند فشل البرنامج النصي؟
خيار -x يجعل Bash يطبع كل أمر مع حججه الموسعة قبل تنفيذه مباشرة، مما يتيح لك رؤية مكان الخطأ بدقة. تبدأ التنفيذ بـ bash -x script.sh في WSL أو على نظام Linux تملكه، ويوقف -eu التنفيذ عند أول خطأ أو متغير غير مُعرّف. في Pageferry، تحتفظ بطاقة Shell بتتبع هذه العمليات جنباً إلى جنب مع رمز الخروج الفعلي.
ما هو مدقق أخطاء Bash (linter) ومتى يجب تشغيله؟
مدقق أخطاء Bash هو برنامج منفصل يقرأ البرنامج النصي دون تنفيذه ويشير إلى الأخطاء المحتملة، مثل متغير غير محاط بعلامات اقتباس. تختار مدقق الأخطاء الخاص بك، تثبته في WSL أو على نظام Linux الخاص بك وتطلب من الوكيل تشغيله باستخدام بطاقة Shell. تعرض البطاقة رسائله ورمز الخروج الخاص به. لا يحل المدقق محل الاختبار الفعلي.
كيف أحجج برنامج Bash النصي؟
الحجج هي القيم التي تلي اسم البرنامج النصي، على سبيل المثال bash script.sh one two، ويقرأها البرنامج النصي كـ $1، $2 وما إلى ذلك. يحتفظ $# بالعدد، ويحتفظ "$@" بجميع الحجج ككلمات منفصلة. لإضافة خيارات وحجج مطلوبة، اختبر $# في البداية، اطبع سطر الاستخدام في الخطأ القياسي واخرج برمز 2. توقف عن تمرير الأسرار كحجج سطر أوامر: يراها المستخدمون الآخرون في قائمة العمليات.
ماذا يعني رمز الخروج 127 في Bash؟
يعني رمز الخروج 127 أن الأمر غير موجود، عادة بسبب خطأ مطبعي، أو برنامج غير مثبت، أو مسار PATH لا يتضمنه. يطبع النظام رسالة، ويعرض Pageferry نفس الرسالة والرقم في بطاقة Shell. يجب على برنامج Bash الذي يشغل تطبيقات بخيارات التحقق من رمز الخروج لكل تطبيق يبدأه.
ماذا يعني رمز الخروج 126 في Bash؟
يعني الرمز 126 أن الملف موجود لكنه لا يمكن تنفيذه، عادة لأنه يفتقر إلى إذن التنفيذ أو ليس برنامجاً. في برنامجك الخاص، يضيف chmod +x script.sh الإذن، وبعد ذلك يمكن بدء ./script.sh عبر سطر الشباك (shebang). إذا كنت غير متأكد، شغل bash script.sh أولاً واقرأ رمز الخروج في البطاقة.
استخدام Pageferry
هل codedguru.com هو الموقع الرسمي لـ Pageferry؟
نعم، codedguru.com هو الموقع الرسمي لـ Pageferry. يوفر زر التنزيل برنامج الإعداد الأصلي بحجم حوالي 34 ميجابايت، ويمكنك مقارنة بصمة SHA-256 الخاصة به مع البيان المنشور قبل تشغيله. قد تحذر Windows SmartScreen لأن المثبت لم يُوقّع رقمياً بعد. تذهب الأسئلة حول التطبيق عبر زر Send feedback الموجود داخله.
هل يمكن للوكيل العمل مع برامج Bash على نظام Linux؟
نعم، من خلال WSL على جهازك الخاص أو عبر SSH إلى نظام Linux تملكه. Pageferry نفسه تطبيق لنظام Windows 10 و11، لذا تتحدث على Windows، وتعمل أدوات الملفات في مجلد العمل الخاص بالشات، وتشغل Shell الأوامر في البيئة التي تختارها. استخدم فقط الأجهزة التي يُسمح لك بإدارتها، واختبر على نسخة أولية أولاً.
هل النتائج صحيحة دائماً؟
لا. يشغل الوكيل الأوامر ويعرض المخرجات الحقيقية، لكن البرنامج النصي قد يكون خاطئاً، وقد يسيء النموذج قراءة المشكلة. اقرأ كل فرق (diff)، شغل البرنامج النصي بقيم اختبارية وتحقق من رمز الخروج بنفسك. يضع Pageferry الحقائق في بطاقة؛ قرار قبول التغيير يبقى لك، والتعديل المرفوض لا يغير شيئاً.
ما الفرق بين Ask first وPlan only؟
Ask first هو وضع يمكن فيه للوكيل العمل لكنه يتوقف قبل كل إجراء يغير شيئاً، مثل كتابة ملف، وفي التعديل ترى الفرق (diff) وتقبله أو ترفضه. Plan only يكتب خطة ولا يشغل شيئاً: لا أوامر ولا تغييرات في الملفات. تبدل الوضع لتنفيذ الخطة. يعمل Auto-run فوراً.
هل يمكنني تشغيل عدة مهام بالتوازي؟
نعم، تبدأ أداة المهام وكلاء فرعيين بالتوازي، وفي برنامج Bash يمكنك بدء مهام متزامنة في الخلفية باستخدام & واستخدام wait. تجميع رموز الخروج يكون مسؤوليتك: انتظر كل معرف عملية (process id) وجمع حالاتها بنفسك، لأن $? يحتوي فقط على حالة الأمر الأخير. اختبر مثل هذا البرنامج على جهازك الخاص.
النماذج، الخصوصية والتنزيل
هل تترك ملفات جهاز الكمبيوتر عند استخدام نموذج سحابي؟
نعم، مع نموذج سحابي، تذهب المطالبة (prompt)، بما في ذلك نص الملفات التي يقرأها الوكيل، إلى هذا المزود. مع نموذج محلي، لا يغادر شيء الآلة. في كلتا الحالتين، تبقى الدردشات ومجلدات العمل ومفاتيح API على جهاز الكمبيوتر، وتُحجب الأسرار في مخرجات الأدوات قبل وصولها إلى النموذج. تختار نقطة النهاية، لذا اخترها مع مراعاة برنامجك.
هل المثبت موقّع رقمياً؟
لا، المثبت لم يُوقّع رقمياً بعد، لذا قد تحذر Windows SmartScreen عند تشغيله. قارن بصمة SHA-256 للملف الذي تم تنزيله مع البيان المنشور، ثم اختر Run anyway تحت خيار More info. في Windows، يطبع الأمر certutil -hashfile مع مسار الملف وSHA256 القيمة للمقارنة.
ما حجم برنامج الإعداد؟
34 ميجابايت هو حجم برنامج الإعداد الذي يوفره زر التنزيل. يوجد أيضاً ملف .exe محمول بحجم حوالي 25 ميجابايت، لكن الزر لا يوفره. كلاهما مبني لنظامي Windows 10 و11، والإصدار الحالي هو 2.9.26. بعد التثبيت، يعرض التطبيق زر Update عندما يكون إصدار جديد جاهزاً.
هل يحتاج Pageferry إلى حساب أو اتصال بالشبكة؟
لا يحتاج حساب لتشغيل التطبيق. سواء كنت بحاجة إلى شبكة يعتمد على النموذج: مزود الذكاء الاصطناعي السحابي يحتاجه، والنموذج المحلي لا يحتاجه، والبحث في الويب وفحوص التحديث والتحكم في الدردشات من متصفح الهاتف ميزات شبكية اختيارية. يستخدم التحكم عبر الهاتف اتصالاً واحداً للخرج ويمكن إيقافه.