ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง
แทนที่ค่าขณะทำงานด้วย -e
ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ค่าขณะทำงาน
บางครั้งคุณต้องการเลือกค่าเมื่อเริ่มเรียกใช้เพลย์ แทนที่จะฝังค่านั้นไว้ในไฟล์ นั่นคือหน้าที่ของ 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 เพื่อให้เพลย์ยังทำงานได้เมื่อไม่มีการระบุค่าที่ต้องการแทนที่
name: "{{ env | default('dev') }}"เหมาะสำหรับสภาพแวดล้อมต่าง ๆ
เพลย์บุ๊กเดียวกันสามารถทำงานกับสภาพแวดล้อมการพัฒนา การทดสอบ หรือการใช้งานจริงได้ เพียงเปลี่ยน ตัวแปรเพิ่มเติม หนึ่งตัวขณะเริ่มทำงาน ไฟล์เดียว รองรับเป้าหมายได้หลายแบบ
ansible-playbook deploy.yml -e env=stagingสลับพฤติกรรมด้วยแฟล็ก
ตัวแปรเพิ่มเติมเหมาะสำหรับใช้เป็นสวิตช์เปิดหรือปิด เปิดใช้หรือข้ามงานได้โดยจับคู่ตัวแปรหนึ่งตัวกับเงื่อนไข when
when: run_migrations | default(false)ใส่เครื่องหมายอัญประกาศเมื่อมีช่องว่าง
หากค่ามีช่องว่าง ให้ใส่เครื่องหมายอัญประกาศครอบคู่ทั้งหมด เพื่อไม่ให้เชลล์แยกค่านั้นออกจากกัน โปรดใส่ใจเรื่องการใส่เครื่องหมายอัญประกาศในเชลล์
ansible-playbook s.yml -e "motd=Hello there"ตรวจสอบอย่างรวดเร็ว
คุณกำหนด port ไว้ใน vars และส่ง -e port=443 เพิ่มเติม ค่าใดจะมีผล
สรุป
ขณะนี้คุณสามารถแทนที่ค่าขณะเริ่มทำงานด้วย -e ส่ง JSON หรือ @files และวางใจได้ว่าตัวแปรเพิ่มเติมจะมีลำดับเหนือกว่าแหล่งที่มาอื่น ✨
เรียนรู้ DevOps Bootcamp ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 142
- บทเรียน
- 568
คำถามที่พบบ่อย
บทเรียน “ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง”
แทนที่ค่าขณะทำงานด้วย -e คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การกำหนดและใช้ vars ใน Play
- ไวยากรณ์การแทนที่ {{ }}
- ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง
- ที่มาและลำดับความสำคัญของตัวแปร