คำสั่ง 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