ทุบตี: ถ้า อื่น ถ้า อื่น ตัวอย่าง

Bash If Else If Else Examples



คำสั่งแบบมีเงื่อนไขของ Bash คือคำสั่งที่ช่วยให้เราสามารถดำเนินการกับเงื่อนไขต่างๆ ได้ คำสั่งเหล่านี้ใช้บล็อกของโค้ด โดยขึ้นอยู่กับว่าเงื่อนไขที่ระบุโดยโปรแกรมเมอร์ประเมินว่าเป็นจริงหรือเท็จ หากประเมินว่าเป็นจริง ให้รันบล็อกโค้ดเฉพาะ มิฉะนั้นจะย้ายไปที่เงื่อนไขถัดไป

งบเงื่อนไขมีหลายประเภทใน Bash:







  1. ถ้าคำสั่ง
  2. คำสั่ง if-else
  3. if..elif..else คำสั่ง
  4. ซ้อนกัน

ในบทความนี้ เราจะมาเรียนรู้เกี่ยวกับประโยคเงื่อนไขแบบหนึ่ง นั่นคือ if, elseif, else พร้อมตัวอย่างบางส่วน ในภาษาอื่นๆ อีกหลายภาษา เอลฟ์เขียนเป็น elseif หรือ else if คำสั่ง elif ช่วยให้เราตัดสินใจเลือกทางเลือกต่างๆ



ไวยากรณ์ของ if,elseif, else คือ:



ถ้า <test_expression>;แล้ว
<คำสั่งให้ดำเนินการ>
เอลฟ์ <test_expression>;แล้ว
<คำสั่งให้ดำเนินการ>
อื่น
<คำสั่งให้ดำเนินการ>
เป็น

คีย์เวิร์ด if ตามด้วยเงื่อนไขที่คุณต้องการตรวจสอบ ในคำสั่งแบบมีเงื่อนไข if-else-if นิพจน์จะถูกประเมินจากบนลงล่าง





  • ตามมาด้วย แล้ว คำสำคัญ.
  • หลังจากนั้น หากนิพจน์ถูกประเมินว่าเป็นจริง คำสั่งที่เกี่ยวข้องจะถูกดำเนินการ หากนิพจน์ถูกประเมินว่าเป็นเท็จ คำสั่งที่เกี่ยวข้องภายในเอลฟ์จะถูกดำเนินการ
  • หากไม่มีเงื่อนไขใด ๆ เป็นจริง คำสั่งใน else ที่ถูกบล็อกจะถูกดำเนินการ

ตัวอย่างที่ 1

ค่า elif (else if) ใช้สำหรับเงื่อนไขหลายเงื่อนไข ในกรณีที่เงื่อนไขแรกเป็นเท็จ ให้ตรวจสอบเงื่อนไขอื่นหากมี ในตัวอย่างต่อไปนี้ เรากำลังรับข้อมูลจากผู้ใช้และแสดงคำสั่งที่เกี่ยวข้อง

  • ใช้เงื่อนไข if เพื่อตรวจสอบว่าเครื่องหมายมีค่ามากกว่าหรือเท่ากับ 80 หากเงื่อนไขประเมินว่าเป็นจริง จะพิมพ์ Excellent โดยใช้คำสั่ง echo ภายใต้บล็อกนั้น
  • หากเงื่อนไขแรกประเมินเป็นเท็จ จะใช้เงื่อนไข elif เพื่อตรวจสอบว่าเครื่องหมายมากกว่าหรือเท่ากับ 70 หากประเมินเป็นจริง ก็จะพิมพ์ Good
  • หากไม่มีเงื่อนไขใดๆ ข้างต้นที่ประเมินว่าเป็นจริง เงื่อนไขนั้นจะย้ายไปที่เงื่อนไข else และพิมพ์ Satisfactory
อ่าน -NS 'ป้อนเครื่องหมาย:'เครื่องหมาย
ถ้า [ $marks -ให้ 80 ]
แล้ว
โยนออก 'ยอดเยี่ยม'

เอลฟ์ [ $marks -ให้ 60 ]
แล้ว
โยนออก 'ดี'

อื่น
โยนออก 'น่าพอใจ'
เป็น

ตัวอย่างที่ 2:

ตัวอย่างเช่น เราต้องการบันทึกคะแนนสำหรับหลักสูตรใดหลักสูตรหนึ่ง คะแนนรวมคือ 200 คะแนน โดยมี 100 คะแนนสำหรับแบบทดสอบ และ 100 คะแนนสำหรับการมอบหมาย เราต้องการแสดงผลรวมของงานที่มอบหมายและแบบทดสอบ โดยตรวจสอบให้แน่ใจว่าจำนวนรวมทั้งหมดไม่เกิน 200



  1. รับข้อมูลเข้า: Quiz_marks และassigns_marks
  2. ตรวจสอบให้แน่ใจว่าไม่มีอินพุตใดในสองอินพุตเกินเครื่องหมายสูงสุดที่เป็นไปได้สำหรับแต่ละรายการ เช่น 100 โดยใช้เงื่อนไข if และ elif
  3. ถ้าการป้อนข้อมูลquiz_marksหรือassigns_marksอย่างใดอย่างหนึ่งเกิน 100 ให้แสดงข้อความเตือนโดยใช้คำสั่ง echo
  • โปรดตรวจสอบเครื่องหมายการป้อนข้อมูลสำหรับแบบทดสอบ
  • โปรดตรวจสอบเครื่องหมายการป้อนข้อมูลสำหรับการมอบหมาย
  1. หากไม่มีเงื่อนไขใดที่ตรงกัน กล่าวคือ ไม่มีเครื่องหมายใดเกิน 100 ให้ย้ายไปที่เงื่อนไข else และแสดงผลรวมของเครื่องหมายโดยใช้คำสั่ง echo
#!/bin/bash
อ่าน -NS 'ป้อนเครื่องหมายทฤษฎี:'Quiz_marks
อ่าน -NS 'ป้อนเครื่องหมายการปฏิบัติ:'งานที่มอบหมาย_marks
ถ้า (($quiz_marks > ห้าสิบ));
แล้ว
โยนออก 'โปรดตรวจสอบเครื่องหมายป้อนข้อมูลสำหรับแบบทดสอบ'
เอลฟ์ (($assignments_marks > ห้าสิบ));
แล้ว
โยนออก 'โปรดตรวจสอบเครื่องหมายการป้อนข้อมูลสำหรับการมอบหมาย'
อื่น
โยนออก ' คะแนนรวมของคุณ: sum=$(( Quiz_marks + งานที่มอบหมาย_marks)) '
เป็น

ตัวอย่างที่ 3:

มาดูตัวอย่างอื่นของโปรแกรมบัญชีธนาคารที่เราต้องการให้มีเอาต์พุตแยกกันสามรายการสำหรับ 3 สถานการณ์ที่แตกต่างกัน:

  • ยอดเงินคงเหลือน้อยกว่าศูนย์
  • ยอดเงินคงเหลือเป็นศูนย์
  • ยอดคงเหลืออยู่เหนือศูนย์

ตัวอย่างเช่น ในโปรแกรมต่อไปนี้ ใช้คำสั่ง if, elif, else เพื่อแสดงผลลัพธ์ที่แตกต่างกันในสถานการณ์ที่ต่างกัน:

  1. ใช้เงื่อนไข if เพื่อตรวจสอบว่ายอดคงเหลือน้อยกว่าศูนย์หรือไม่ หากเงื่อนไขนี้ประเมินเป็นจริง ให้แสดงข้อความโดยใช้คำสั่ง echo: ยอดคงเหลือน้อยกว่าศูนย์ โปรดเพิ่มเงินอื่น ๆ คุณจะถูกเรียกเก็บเงินค่าปรับ
  2. หากเงื่อนไขข้างต้นไม่ตรงกัน ให้ใช้เงื่อนไข elif เพื่อตรวจสอบว่ายอดคงเหลือเท่ากับศูนย์หรือไม่ หากประเมินเป็นจริง แสดงข้อความ: ยอดคงเหลือเป็นศูนย์ โปรดเติมเงิน
  3. หากไม่มีเงื่อนไขข้างต้นตรงกัน ให้ใช้เงื่อนไข else เพื่อแสดง: ยอดคงเหลือของคุณอยู่เหนือศูนย์
#!/bin/bash
สมดุล=900
ถ้า ((สมดุล< 0));แล้ว
โยนออก 'ยอดคงเหลือน้อยกว่าศูนย์ โปรดเพิ่มเงินอื่นที่คุณจะถูกเรียกเก็บเงินค่าปรับ'
เอลฟ์ ((ยอดคงเหลือ ==0));แล้ว
โยนออก 'ยอดคงเหลือเป็นศูนย์ กรุณาเติมเงิน'
อื่น
โยนออก 'ยอดเงินของคุณอยู่เหนือศูนย์'
เป็น

จากตัวอย่างข้างต้นของข้อความสั่งแบบมีเงื่อนไข ถ้า เอลฟ์ อย่างอื่น ตอนนี้คุณควรสามารถเข้าใจวิธีการทำงานของคำสั่งแบบมีเงื่อนไขนี้ และตำแหน่งที่สามารถใช้ในสถานการณ์ต่างๆ ฉันหวังว่าคุณจะชอบบทความ