คำสั่งเงื่อนไขของ Bash ดำเนินการคำนวณหรือการดำเนินการที่แตกต่างกันขึ้นอยู่กับว่าเงื่อนไขบูลีนที่โปรแกรมเมอร์ระบุจะประเมินว่าเป็นจริงหรือเท็จ คำสั่งเหล่านี้ใช้เพื่อดำเนินการส่วนต่างๆ ของโปรแกรมเชลล์ของคุณ ขึ้นอยู่กับว่าเงื่อนไขบางอย่างเป็นจริงหรือไม่ ความสามารถในการแตกแขนงทำให้เชลล์สคริปต์มีประสิทธิภาพ
ใน Bash เรามีคำสั่งแบบมีเงื่อนไขดังต่อไปนี้:
- if..then..fi คำสั่ง (ถ้าง่าย)
- if..then..else..fi คำสั่ง (If-Else)
- if..elif..else..fi คำสั่ง (Else If ladder)
- if..then..else..if..then..fi..fi..(ซ้อนถ้า)
สิ่งเหล่านี้คล้ายกับ awk หากเรากล่าวถึงก่อนหน้านี้
1. ทุบตี If..then..fi คำสั่ง
if [ conditional expression ] then statement1 statement2 . fi
คำสั่ง if นี้เรียกอีกอย่างว่าคำสั่ง if แบบง่าย หากนิพจน์เงื่อนไขที่กำหนดเป็นจริง ให้ป้อนและดำเนินการคำสั่งที่อยู่ระหว่างคำหลัก "then" และ "fi" หากนิพจน์ที่กำหนดคืนค่าศูนย์ รายการคำสั่งที่ตามมาจะถูกดำเนินการ
ถ้าเป็นเช่นนั้น fi ตัวอย่าง:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi
2. ทุบตี If..then..else..fi คำสั่ง
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
หากนิพจน์เงื่อนไขเป็นจริง จะดำเนินการคำสั่ง 1 และ 2 หากนิพจน์เงื่อนไขส่งกลับค่าศูนย์ นิพจน์เงื่อนไขจะข้ามไปยังส่วนอื่น และดำเนินการคำสั่ง 3 และ 4 หลังจากดำเนินการส่วน if/else แล้ว การดำเนินการจะดำเนินต่อด้วยคำสั่งที่ตามมา
ถ้าอย่างนั้น fi ตัวอย่าง:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
หมายเหตุ: บทความนี้เป็นส่วนหนึ่งของชุดการสอน Bash ที่กำลังดำเนินอยู่
3. ทุบตี If..elif..else..fi
If [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
คุณสามารถใช้สิ่งนี้ if .. elif.. if หากคุณต้องการเลือกหนึ่งในหลาย ๆ บล็อกของรหัสเพื่อดำเนินการ มันตรวจสอบนิพจน์ 1 ถ้าเป็นจริงรันคำสั่ง 1,2 หาก expression1 เป็นเท็จ จะตรวจสอบ expression2 และหาก expression ทั้งหมดเป็นเท็จ ก็จะเข้าสู่บล็อก else และดำเนินการคำสั่งในบล็อก else
ถ้าแล้ว elif อย่างอื่น fi ตัวอย่าง:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi
4. ทุบตี If..then..else..if..then..fi..fi..
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
หากคำสั่งและคำสั่งอื่นสามารถซ้อนกันในทุบตี คีย์เวิร์ด “fi” หมายถึงจุดสิ้นสุดของคำสั่ง if ภายใน และ if คำสั่งทั้งหมดควรลงท้ายด้วยคีย์เวิร์ด “fi”
ตัวอย่าง “if then elif then else fi” ที่กล่าวถึงข้างต้นสามารถแปลงเป็นแบบซ้อนได้หากแสดงด้านล่าง
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
ในบทความถัดไป เราจะพูดถึงวิธีใช้นิพจน์เงื่อนไขของ Bash พร้อมตัวอย่างที่ใช้งานได้จริง
แนะนำให้อ่าน
Bash 101 Hacks โดย Ramesh Natarajan . ฉันใช้เวลาส่วนใหญ่กับสภาพแวดล้อม Linux โดยธรรมชาติแล้วฉันเป็นแฟนตัวยงของ Bash command line และ shell scripting 15 ปีที่แล้ว ตอนที่ฉันทำงานกับ *nix รสชาติต่างๆ ฉันเคยเขียนโค้ดจำนวนมากบน C shell และ Korn shell หลายปีต่อมา เมื่อฉันเริ่มทำงานบน Linux ในฐานะผู้ดูแลระบบ ฉันแทบทำทุกอย่างที่เป็นไปได้โดยอัตโนมัติโดยใช้ Bash shell scripting จากประสบการณ์ Bash ของฉัน ฉันได้เขียน Bash 101 Hacks eBook ที่มีตัวอย่างที่ใช้งานได้จริง 101 ตัวอย่างทั้งบรรทัดคำสั่ง Bash และเชลล์สคริปต์ หากคุณกำลังคิดเกี่ยวกับการควบคุม Bash ให้เชี่ยวชาญ ลองอ่านหนังสือเล่มนี้ดู ซึ่งจะช่วยให้คุณควบคุมบรรทัดคำสั่งและเชลล์สคริปต์ของ Bash ได้