Ansible Academy · درس

المتغيرات الإضافية في سطر الأوامر

تجاوز القيم أثناء التشغيل باستخدام ‎-e‎

الدرس 3 من 413 خطوة

المتغيرات الإضافية في سطر الأوامر درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 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=443

JSON للأنواع المركبة

يجعل 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، والاعتماد على أن المتغيرات الإضافية تتغلب على المصادر الأخرى. ✨

البدء مجانًا

تعلم YAML مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «المتغيرات الإضافية في سطر الأوامر» مجاني؟

نعم — نص درس «المتغيرات الإضافية في سطر الأوامر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.

ماذا ستتعلم في «المتغيرات الإضافية في سطر الأوامر»؟

تجاوز القيم أثناء التشغيل باستخدام ‎-e‎ تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟

لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «المتغيرات الإضافية في سطر الأوامر»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟

نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف vars واستخدامها في Play
  2. صياغة الاستبدال ‎{{ }}‎
  3. المتغيرات الإضافية في سطر الأوامر
  4. مصادر المتغيرات وأولويتها
← العودة إلى Ansible Academy