6. ประโยคเงื่อนไข

 

6.1 รูปแบบ

มีรูปแบบคือ

if [EXPRESSION]; then
    CODE IF 'EXPRESSION' IS TRUE.
[elif [EXPRESSION-ELIF]; then
    CODE IF 'EXPRESSION-ELIF' IS TRUE.]
[else
    CODE IF NOTHING IS TRUE.]
fi

6.2 ตัวอย่าง if ... then

#!/bin/bash
if [ "foo" = "foo" ]; then
    echo expression evaluated as true
fi

โค๊ดนี้จะเป็นจริงเสมอ ดังนั้นข้อความ "expression evaluated as true" จะถูกพิมพ์ออกมาเสมอ

6.3 ตัวอย่าง if ... then ... else

#!/bin/bash
if [ "foo" = "foo" ]; then
   echo expression evaluated as true
else
   echo expression evaluated as false
fi

โค๊ดนี้จะเป็นจริงเสมอ ดังนั้นข้อความ "expression evaluated as true" จะถูกพิมพ์ออกมาเสมอ

6.4 ตัวอย่างแบบใช้ตัวแปร

#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
    echo expression evaluated as true
else
    echo expression evaluated as false
fi

ตัวอย่างนี้จะเป็นเท็จเสมอ
สังเกตุการใช้ตัวแปรในการเปรียบเทียบ ควรให้ตัวแปรอยู่ในเครื่องหมายคำพูดเสมอ เพื่อป้องการการผิดพลาดจากการแทนค่าที่ซับซ้อน หรือการที่มีช่องว่างในค่าตัวแปร