0Pricing
Ansible Academy · درس

صياغة الاستبدال ‎{{ }}‎

أدرج المتغيرات في السلاسل والوسيطات

صياغة الاستبدال ‎{{ }}‎ درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

تعرّفوا إلى Jinja2

تأتي الأقواس المعقوفة المزدوجة من Jinja2، وهو محرك القوالب الذي يستخدمه Ansible. وكل ما بداخلها تعبير يُقيَّم. 🌟

الاستبدال الأساسي

في أبسط حالاته، يُستبدل {{ name }} بقيمة name. ويقيّم Ansible ذلك قبل تشغيل module.

msg: "Welcome, {{ name }}!"

انتبهوا إلى المسافات

المسافات داخل الأقواس اصطلاحية ويتم تجاهلها: {{ name }} تساوي {{name}}. أما الصيغة المقروءة التي تتضمن مسافات فهي الأسلوب القياسي.

ضعوا القيمة بين علامتي اقتباس عندما تبدأ بهما

إذا بدأت قيمة بالأقواس، فيحتاج YAML إلى وضع السلسلة كاملة بين علامتي اقتباس. وإلا فسيظن أنها قاموس.

name: "{{ app_name }}"

اجمعوا النصوص والمتغيرات

يمكنكم مزج النص الحرفي مع الاستبدالات بحرية داخل سلسلة واحدة، وبناء المسارات أو الرسائل جزءًا بعد جزء.

path: "/var/www/{{ site_name }}/index.html"

الوصول إلى مفاتيح القاموس

بالنسبة إلى متغير من نوع قاموس، يمكنكم الوصول إلى مفتاح باستخدام صيغة النقطة أو الأقواس. يعيد كل من db.port وdb['port'] القيمة نفسها.

msg: "DB on {{ db.host }}:{{ db.port }}"

الوصول إلى عناصر القائمة

استخدموا الأقواس للوصول إلى عنصر في متغير من نوع قائمة. ويبدأ العد من الصفر، ولذلك فإن packages[0] هو العنصر الأول.

msg: "First package is {{ packages[0] }}"

تعبيرات، لا أسماء فقط

يمكن أن تحتوي الأقواس على تعبيرات حقيقية، مثل العمليات الحسابية والمقارنات وحتى الربط. ويقيّم Ansible التعبير كاملًا.

msg: "Total: {{ workers * 2 }}"

تُحوّل المرشحات القيم

يطبّق الأنبوب filter لإعادة تشكيل قيمة. وهنا يحوّل upper السلسلة إلى أحرف كبيرة قبل طباعتها.

msg: "{{ region | upper }}"

الأقواس داخل السلاسل فقط

يحدث الاستبدال داخل قيم السلاسل النصية. أما مفتاح مجرد مثل name، فما زالت قيمته تحتاج إلى اقتباس عندما تبدأ بـ{{ }}.

انتبهوا إلى القيم غير المعرّفة

تؤدي الإشارة إلى اسم لم يُعيَّن من قبل إلى ظهور خطأ متغير غير معرّف. عرّفوه أولًا، أو وفّروا مرشحًا افتراضيًا.

msg: "{{ tier | default('web') }}"

فحص سريع

لماذا يحتاج name: {{ app_name }} إلى علامات اقتباس؟

مراجعة

أصبحتم الآن تستبدلون القيم باستخدام {{ }}، وتصلون إلى القوائم والقواميس، وتطبّقون المرشحات، وتضعون الأقواس البادئة بين علامتي اقتباس. ✨

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

هل درس «صياغة الاستبدال ‎{{ }}‎» مجاني؟

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

ماذا ستتعلم في «صياغة الاستبدال ‎{{ }}‎»؟

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

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

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

كم من الوقت يستغرق درس «صياغة الاستبدال ‎{{ }}‎»؟

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

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

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

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

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