Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Bash If-Else Statement พร้อมตัวอย่าง

คำสั่ง 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 โค้ดบล็อกถูกดำเนินการ

หมายเหตุ:บล็อก if เท่านั้น จะถูกดำเนินการหากเงื่อนไขประเมินเป็น จริง .
คำสั่ง 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