تشغيل السكريبتات
يشغل Shell السكريبت الخاص بك في WSL أو عبر SSH ويعرض رمز الخروج الفعلي في الدردشة.
رمز الخروج في Bash هو الرقم الذي تعيده الأداة عند الانتهاء: 0 للنجاح، و1 إلى 255 للفشل. يشغل Pageferry السكريبت الخاص بك باستخدام Shell، ويقرأ هذا الرقم من العملية الفعلية ويضعه في بطاقة دردشة بجانب المخرجات. يقوم أيضاً بتعديل الملفات، ويعرض الفرق أولاً.
يشغل Shell السكريبت الخاص بك في WSL أو عبر SSH ويعرض رمز الخروج الفعلي في الدردشة.
يعرض read_file وgrep السكريبت الخاص بك في الدردشة، مما يتيح لك العثور على أماكن استخدام $1 و$2.
يقترح edit_file تغييراً ويعرض الفرق. في وضع Ask first، ينتظر موافقتك.
يتحول كل إجراء إلى بطاقة في الدردشة. يبلغ Shell عن رمز الخروج الفعلي، ويعرض edit_file الفرق، وينتظر Ask first موافقتك قبل أي تغيير. افتح بطاقة لقراءة المخرجات الكاملة أو الفرق الكامل.
bash check.sh a bexit 0bash check.shexit 2check.shreadexit3 matchesbash -n check.shexit 0تطلب من الوكيل معرفة ما يحدث عندما لا يتلقى check.sh أي حجة. يفتح read_file السكريبت، ويشغل Shell bash check.sh بدون أي شيء بعد الاسم. تظهر البطاقة المخرجات الفعلية ورمز الخروج، وهو 2 إذا كان السكريبت يطبع سطر الاستخدام في الخطأ القياسي وينتهي بـ exit 2. يقع رمز الخروج في $؟، ويرى المتصل فقط هذا الرقم، لذا يكون السكريبت الذي ينتهي برمز واضح أسهل في الاختبار من الذي يعيد دائماً 1. يشغل Shell السكريبت مرة أخرى بقيمتين، ويجب أن تظهر البطاقة 0. إذا فاجأك الأكواد، اقرأ البطاقة، ثم اسمح لـ edit_file باقتراح إصلاح تحت Ask first وراجع الفرق.
تكتب "اشرح لي getopt" فيجيب الوكيل بكلمات بسيطة: getopts هي أداة مدمجة في Bash للخيارات القصيرة مثل -v أو -f file، بينما getopt هو أمر منفصل يتعامل أيضاً مع الخيارات الطويلة مثل --file ويتصرف بشكل مختلف بين الأنظمة. ثم يفتح read_file السكريبت الخاص بك، ويضيف edit_file حلقة getopts وترى الفرق. يشغل Shell السكريبت مع -v، ومع -f ومع خيار خاطئ، ولكل بطاقة رمز خروج خاص بها. يجب أن ينتهي الخيار الخاطئ بـ 2، وهو الرمز المعتاد للاستخدام الخاطئ. بالنسبة لعدد قليل من الخيارات، تكفي حلقة while مع case وshift، لذا اطلب هذا الإصدار إذا كنت تفضله. اقبل الفرق فقط بعد قراءته.
فشل تمرير الحجج التي تحتوي على مسافات إلى السكريبت عندما لا تكون القيم محاطة بعلامات اقتباس، لأن المحلل يفصلها إلى كلمات منفصلة. يقرأ الوكيل الملف باستخدام read_file، يجد $1 و$@ غير المحاطين بعلامات اقتباس، ويقترح edit_file علامات اقتباس مزدوجة حولها. يشغل Shell السكريبت بقيمة مثل "كلمتين"، وتظهر المخرجات ما إذا كانت تصل كسطر واحد أو كسطرين. إحدى الحيل لإدارة حجج سطر الأوامر هي shift، التي تحذف القيمة الأولى حتى تتمكن الحلقة من المرور عبر الباقي، ويمكن للوكيل إضافتها في نفس الفرق. تحت Ask first، ينتظر التعديل منك. راجع الفرق، شغل الاختبار مرة أخرى وقارن المخرجات الاثنين بنفسك.
الذين يبحثون عن "bash exit script" يبحثون عادةً عن الأمر builtin للخروج: يوقف N السكريبت بالحالة N، بينما يترك return N الدالة فقط. يمكن للوكيل إضافة set -eu وset -o pipefail في الأعلى، بحيث يتوقف السكريبت عند الأخطاء والمتغيرات غير المحددة، ثم يشغل الملف بـ bash -n للتحقق من التركيب وbash -x لطباعة كل أمر. إذا لم يكن return يعطي حالة الأمر الأخير، فقد يكون هناك أمر آخر قد عمل في بينهما، لأن $؟ يحتوي فقط على رمز الخروج للأحدث. تظهر بطاقة Shell التتبع. اقرأها من الأعلى، قارنها مع السكريبت وقرر ما إذا كان التعديل سيظل قائماً.
Pageferry هو تطبيق سطح مكتب لنظام Windows، وليس خدمة مستضافة أو ملحقاً. هو مخصص فقط لملفاتك الخاصة، وجهازك الخاص والخوادم التي لديك صلاحية استخدامها. تحتفظ بالعمل ضمن هذا النطاق، لأن الوكيل لا يفرضه، وShell وweb وSSH غير مقصورين على مجلد العمل. يمكن أن تكون الأكواد والمخرجات خاطئة، لذا اقرأ الفرق واختبر. تظهر الأسرار في مخرجات الأدوات وتُحذف قبل وصولها إلى النموذج.