المتغيرات الإضافية في سطر الأوامر
تجاوز القيم أثناء التشغيل باستخدام -e
المتغيرات الإضافية في سطر الأوامر درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
القيم وقت التشغيل
أحيانًا تريدون اختيار قيمة عند تشغيل play، بدلًا من تضمينها مسبقًا في ملف. وهذا هو الغرض من extra vars. 🌟
العَلَم -e
مرّروا extra vars باستخدام العلم -e (أو --extra-vars) مع ansible-playbook. ويصبح كل متغير منها متاحًا طوال عملية التشغيل.
ansible-playbook site.yml -e "env=prod"عدة أزواج key=value
افصلوا عدة قيم بمسافات داخل سلسلة واحدة بين علامتي اقتباس. ويحلّل Ansible كل زوج key=value إلى متغير.
ansible-playbook site.yml -e "env=prod port=443"تكرار -e
يمكنكم أيضًا تمرير -e أكثر من مرة. وتضيف كل مرة متغيرها الخاص، مما يحافظ على سهولة قراءة الأوامر الطويلة.
ansible-playbook site.yml -e env=prod -e port=443JSON للأنواع المركبة
يجعل key=value كل شيء سلسلة نصية. لتمرير الأرقام أو القوائم أو القواميس، استخدم JSON داخل المتغيرات الإضافية بدلًا من ذلك.
ansible-playbook site.yml -e '{"port": 443}'تحميل المتغيرات الإضافية من ملف
ابدأ القيمة بالرمز @ لقراءة المتغيرات من ملف YAML أو JSON. وهذا مفيد جدًا عند وجود مجموعة طويلة من التجاوزات.
ansible-playbook site.yml -e @overrides.ymlالمتغيرات الإضافية لها الأولوية
يتغلب المتغير الإضافي على جميع المصادر الأخرى تقريبًا. إذا تم تعيين env في vars وفي CLI، فستُستخدم قيمة سطر الأوامر.
قيمة افتراضية آمنة للتجاوز
اربط المتغيرات الإضافية بمرشّح default حتى يستمر playbook في العمل عند عدم تمرير أي تجاوز.
name: "{{ env | default('dev') }}"مناسب للبيئات
يمكن لملف playbook نفسه استهداف dev أو staging أو prod بمجرد تغيير متغير إضافي واحد عند التشغيل. ملف واحد، ووجهات متعددة.
ansible-playbook deploy.yml -e env=stagingتبديل السلوك باستخدام المفاتيح
تعمل المتغيرات الإضافية جيدًا كمفاتيح تشغيل وإيقاف. ادمج أحدها مع شرط when لتمكين مهمة أو تخطيها.
when: run_migrations | default(false)اقتبس المسافات بعناية
إذا كانت القيمة تحتوي على مسافات، فضع الزوج بأكمله بين علامتي اقتباس حتى لا تقسمه الصدفة. انتبه إلى shell quoting.
ansible-playbook s.yml -e "motd=Hello there"تحقق سريع
لقد عيّنت port في vars ومررت أيضًا -e port=443. أي قيمة لها الأولوية؟
مراجعة
يمكنك الآن تجاوز القيم عند التشغيل باستخدام -e، وتمرير JSON أو ملفات @files، والاعتماد على أن المتغيرات الإضافية تتغلب على المصادر الأخرى. ✨
الأسئلة الشائعة
هل درس «المتغيرات الإضافية في سطر الأوامر» مجاني؟
نعم — نص درس «المتغيرات الإضافية في سطر الأوامر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «المتغيرات الإضافية في سطر الأوامر»؟
تجاوز القيم أثناء التشغيل باستخدام -e تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «المتغيرات الإضافية في سطر الأوامر»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف vars واستخدامها في Play
- صياغة الاستبدال {{ }}
- المتغيرات الإضافية في سطر الأوامر
- مصادر المتغيرات وأولويتها