Câu lệnh if-else trong scripting Bash tương tự như các ngôn ngữ lập trình khác; đó là phương pháp để chương trình đưa ra quyết định.
Trong câu lệnh if-else, việc thực thi một khối lệnh được quyết định dựa trên kết quả của điều kiện if.
Cú Pháp Câu Lệnh If-Else Bash
Cú pháp của câu lệnh if-else trong Bash:
if [condition]
then
# khối lệnh if
else
# khối lệnh else
fi
Nếu điều kiện đánh giá là true, khối lệnh if được thực thi; nếu false thì khối else chạy.
Lưu ý: Khối if chỉ chạy khi điều kiện là true.
Câu lệnh else và khối lệnh else là tùy chọn.
Phải kết thúc câu lệnh if bằng từ khóa fi.
So Sánh Điều Kiện
Biểu thức dùng trong cấu trúc điều kiện phải đánh giá thành true hoặc false. Biểu thức có thể là một chuỗi hoặc biến đơn lẻ.
- Nhỏ hơn - ký hiệu:
$a -lt $bhoặc$a < $b - Lớn hơn - ký hiệu:
$a -gt $bhoặc$a > $b - Nhỏ hơn hoặc bằng - ký hiệu:
$a -le $bhoặc$a <= $b - Lớn hơn hoặc bằng - ký hiệu:
$a -ge $bhoặc$a >= $b - Bằng - ký hiệu:
$a -eq $bhoặc$a == $b - Khác - ký hiệu:
$a -ne $bhoặc$a != $b
Toán Tử Logic
Biểu thức trong câu lệnh if cũng có thể là tổ hợp logic của nhiều so sánh.
Các toán tử logic:
- Logic AND - ký hiệu
$a AND $bhoặc$a && $bđánh giátruekhi cả hai vế đều đúng. - Logic OR - ký hiệu
$a OR $bhoặc$a || $bđánh giátruekhi ít nhất một vế đúng.
Lưu ý: Khi dùng toán tử logic, biểu thức điều kiện nên đặt trong cặp ngoặc kép vuông [[ ]].
Ví dụ:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Ví Dụ If Bash
Câu lệnh if là câu điều kiện đơn giản. Nếu điều kiện trong if[] là true, khối lệnh if chạy.
Ví dụ:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
Lưu ý: Nếu nhập số nhỏ hơn 10, không có gì được in ra.
Ví Dụ If-Else Bash
Khi điều kiện if là false, khối lệnh else chạy (nếu có).
Ví dụ:
#!/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
Ví Dụ If-Elif-Else Bash
Câu lệnh elif (else if) dùng khi có nhiều điều kiện if.
Ví dụ:
#!/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
Ví Dụ If Lồng Nhau Bash
Có thể lồng các câu lệnh if.
Ví dụ: Tìm số lớn nhất trong 3 số.
#!/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