0Pricing
Ansible Academy · บทเรียน

ไวยากรณ์การแทนที่ {{ }}

แทรกตัวแปรลงในสตริงและอาร์กิวเมนต์

ไวยากรณ์การแทนที่ {{ }} เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

ทำความรู้จักกับ Jinja2

วงเล็บปีกกาคู่มาจาก Jinja2 ซึ่งเป็นเครื่องมือสร้างแม่แบบที่ Ansible ใช้ ทุกสิ่งที่อยู่ภายในคือ expression ที่ต้องประเมินค่า 🌟

การแทนค่าพื้นฐาน

ในรูปแบบพื้นฐานที่สุด {{ name }} จะถูกแทนที่ด้วยค่าของ name Ansible จะประเมินค่าก่อนที่โมดูลจะทำงาน

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

ระวังช่องว่าง

ช่องว่างภายในวงเล็บเป็นรูปแบบที่ใช้กันทั่วไปและไม่มีผลต่อการทำงาน {{ name }} จึงเท่ากับ {{name}} รูปแบบที่มีช่องว่างและอ่านง่ายเป็นมาตรฐานที่นิยมใช้

ใส่เครื่องหมายอัญประกาศเมื่อเริ่มต้นค่า

หากค่าเริ่มต้นด้วยวงเล็บปีกกา YAML จะต้องใส่เครื่องหมายอัญประกาศครอบทั้งสตริง มิฉะนั้น YAML จะเข้าใจผิดว่าเป็น dictionary

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] }}"

นิพจน์ ไม่ใช่แค่ชื่อ

วงเล็บปีกกาสามารถเก็บ expressions จริงได้ เช่น การคำนวณทางคณิตศาสตร์ การเปรียบเทียบ หรือแม้แต่การต่อข้อความ Ansible จะประเมินค่าทั้งหมด

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

ฟิลเตอร์แปลงค่า

เครื่องหมายไปป์จะใช้ filter เพื่อปรับรูปแบบของค่า ในที่นี้ upper จะเปลี่ยนสตริงเป็นตัวพิมพ์ใหญ่ก่อนแสดงผล

msg: "{{ region | upper }}"

วงเล็บปีกกาใช้เฉพาะในสตริง

การแทนค่าจะอยู่ภายในค่าชนิดสตริง คีย์เปล่าอย่าง name ยังคงต้องใส่เครื่องหมายอัญประกาศเมื่อขึ้นต้นด้วย {{ }}

ระวังค่าไม่ได้กำหนด

การอ้างอิงชื่อที่ไม่เคยกำหนดจะทำให้เกิดข้อผิดพลาด undefined variable ให้กำหนดค่าก่อน หรือระบุฟิลเตอร์ค่าเริ่มต้น

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

ตรวจสอบอย่างรวดเร็ว

เหตุใด name: {{ app_name }} จึงต้องใส่เครื่องหมายอัญประกาศ

สรุปทบทวน

ตอนนี้คุณสามารถแทนค่าด้วย {{ }} เข้าถึงรายการและพจนานุกรม ใช้ฟิลเตอร์ และใส่เครื่องหมายอัญประกาศเมื่อขึ้นต้นด้วยวงเล็บปีกกาได้แล้ว ✨

คำถามที่พบบ่อย

บทเรียน “ไวยากรณ์การแทนที่ {{ }}” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ไวยากรณ์การแทนที่ {{ }}” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ไวยากรณ์การแทนที่ {{ }}”

แทรกตัวแปรลงในสตริงและอาร์กิวเมนต์ คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ไวยากรณ์การแทนที่ {{ }}” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การกำหนดและใช้ vars ใน Play
  2. ไวยากรณ์การแทนที่ {{ }}
  3. ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง
  4. ที่มาและลำดับความสำคัญของตัวแปร
← กลับไปที่ Ansible Academy