คำสั่ง if-else ในการเขียนสคริปต์ทุบตีคล้ายกับภาษาโปรแกรมอื่นๆ มันเป็นวิธีการสำหรับโปรแกรมในการตัดสินใจ
ใน if-else คำสั่ง การดำเนินการของกลุ่มคำสั่งจะตัดสินใจตามผลของ if สภาพ
Bash If-Else ไวยากรณ์คำสั่ง
ไวยากรณ์ของ if-else คำสั่งในทุบตีคือ:
if [condition]
then
//if block code
else
// else block code
fi
หากเงื่อนไขประเมินเป็น true , if รหัสบล็อกถูกดำเนินการ และหากเงื่อนไขประเมินเป็น false แล้วก็ else โค้ดบล็อกถูกดำเนินการ
คำสั่ง else และบล็อกโค้ด else เป็นทางเลือก
เราต้องจบ if คำสั่งด้วย fi คีย์เวิร์ด
การเปรียบเทียบตามเงื่อนไข
นิพจน์ที่ใช้โดยโครงสร้างแบบมีเงื่อนไขต้องประเมินเป็น true หรือ false . นิพจน์สามารถเป็นสตริงหรือตัวแปรเดียวได้
- น้อยกว่า - แสดงโดย:
$a -lt $bหรือ$a < $b - มากกว่า - แสดงโดย:
$a -gt $bหรือ$a > $b - น้อยกว่าหรือเท่ากับ - แสดงโดย:
$a -le $bหรือ$a <= $b - มากกว่าหรือเท่ากับ - แสดงโดย:
$a -ge $bหรือ$a >= $b - เท่ากับ - แสดงโดย:
$a -eq $bหรือ$a == $b - ไม่เท่ากับ - แสดงโดย:
$a -ne $bหรือ$a != $b
ตัวดำเนินการทางตรรกะ
นิพจน์ภายใน if คำสั่งยังสามารถเป็นการผสมผสานเชิงตรรกะของการเปรียบเทียบหลายรายการได้
ตัวดำเนินการเชิงตรรกะคือ:
- ตรรกะและ - แสดงโดย
$a AND $bหรือ$a && $bประเมินเป็นtrueเมื่อทั้งตัวแปรหรือข้อความสั่งเป็นจริง - ตรรกะหรือ - แสดงโดย
$a OR $bหรือ$a || $bประเมินเป็นtrueเมื่อตัวแปรหรือประโยคข้อใดข้อหนึ่งเป็นจริง
ตัวอย่างเช่น:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Bash if Example
if คำสั่งเป็นเพียงคำสั่งแบบมีเงื่อนไขอย่างง่าย หากเงื่อนไขภายใน if[] ประเมินเป็น true แล้วก็ if บล็อกโค้ดถูกดำเนินการ
ตัวอย่าง:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
หมายเหตุ:ในตัวอย่างข้างต้น หากเราป้อนตัวเลขที่น้อยกว่า 10 จะไม่มีอะไรถูกพิมพ์ออกมา Bash if-else ตัวอย่าง
เมื่อผลของ if เงื่อนไขคือ false จากนั้นโค้ดใน else บล็อกถูกดำเนินการ หากมีหนึ่งบล็อก
ตัวอย่างเช่น:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
else
echo "The number you entered is less than 10"
fi
ทุบตี if-elif-else ตัวอย่าง
elif (else if) ใช้เมื่อมีหลาย if เงื่อนไข
ตัวอย่างเช่น:
#!/bin/bash
read -p "Enter your exam grade: " grade
if [ $grade -ge 80 ]
then
echo "You got A"
elif [ $grade -ge 70 ]
then
echo "You got B"
elif [ $grade -ge 60 ]
then
echo "You got C"
else
echo "Fail"
fi
Bash Nested if Example
นอกจากนี้เรายังสามารถซ้อน if แถลงการณ์
ตัวอย่างเช่น:
#!/bin/bash
read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo "a is greatest"
else
echo "c is greatest"
fi
else
if [ $b -gt $c ]
then
echo "b is greatest"
else
echo "c is greatest"
fi
fi