خدعة Bash: كرر الأمر الأخير حتى النجاح

أحيانًا تقوم بتشغيل أمر shell ويفشل لأنك قمت بتشغيله في وقت مبكر جدًا. ولكن إذا أعدت تشغيله عدة مرات ، فسوف ينجح في النهاية.

أحد الأمثلة على ذلك هو محاولة دفق سجلات مجموعة Kubernetes فور إنشائها:

من الناحية المثالية ، قد تنتظر kubectl الحاوية لبدء التشغيل فعليًا ثم تبدأ في دفق سجلاتها (كما ورد في الإصدار 28746) ، لكنها لا تفعل ذلك. وبالتالي ، تحتاج إلى الضغط بشكل متكرر على السهم لأعلى وإعادة تنفيذ الأمر حتى ينجح.

هل هناك طريقة لأتمتة هذا؟ بالطبع هناك.

الحل

تصميم

o بسيط جدًا. ما عليك سوى إضافة الوظيفة التالية إلى ملف .bashrc :

الآن ، إذا فشلت kubectl logs -f ، يمكنك ببساطة كتابة rpt وسيعيد تشغيل الأمر kubectl حتى الحاوية يبدأ ويمكن دفق السجلات:

بالطبع ، يعمل هذا أيضًا مع الأوامر الأخرى: