Bash Else If
Trong chủ đề này, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh else-if (elif) trong các tập lệnh Bash để hoàn thành các nhiệm vụ tự động của chúng ta.
Câu lệnh Bash else-if được sử dụng cho nhiều điều kiện. Nó giống như một phần bổ sung cho câu lệnh if-else trong Bash. Trong câu lệnh elif của Bash, có thể có nhiều khối elif với một biểu thức boolean cho mỗi khối. Trong trường hợp câu lệnh ‘if đầu tiên’, nếu một điều kiện sai, thì điều kiện ‘if thứ hai’ sẽ được kiểm tra.
Cú pháp của câu lệnh Bash Else If (elif) có thể được xác định như sau:
if [ condition ];
then
<commands>
elif [ condition ];
then
<commands>
else
<commands>
fi
Tương tự như if-else, chúng ta có thể sử dụng một tập hợp các điều kiện được kết nối bằng các toán tử điều kiện. Các lệnh được thực thi khi điều kiện là đúng. Nếu không có điều kiện đúng nào, thì khối lệnh bên trong ‘else statement’ sẽ được thực thi.
Dưới đây là một số ví dụ minh họa việc sử dụng câu lệnh else-if:
Ví dụ 1 Ví dụ sau đây bao gồm hai kịch bản khác nhau, trong đó trong câu lệnh else-if đầu tiên, điều kiện là đúng, và trong câu lệnh else-if thứ hai, điều kiện là sai.
Kịch bản Bash:
#!/bin/bash
read -p "Enter a number of quantity:" num
if [ $num -gt 100 ];
then
echo "Eligible for 10% discount"
elif [ $num -lt 100 ];
then
echo "Eligible for 5% discount"
else
echo "Lucky Draw Winner"
echo "Eligible to get the item for free"
fi
Khi chúng ta nhập số lượng là 110, thì điều kiện của ‘if statement’ được đánh giá là đúng và kết quả sẽ là:
Nếu chúng ta nhập số lượng là 90 thì điều kiện của ‘elif statement’ được đánh giá là đúng và kết quả sẽ như sau:
Nếu chúng ta nhập số lượng là 100, thì không có điều kiện nào đúng. Trong trường hợp này, khối lệnh trong ‘else statement’ được thực thi, và kết quả như sau:
Ví dụ 2:
Ví dụ này giải thích cách sử dụng nhiều điều kiện với câu lệnh else-if trong Bash. Chúng ta sử dụng các toán tử logic trong bash để kết hợp nhiều điều kiện.
Đoạn mã Bash:
#!/bin/bash
read -p "Enter a number of quantity:" num
if [ $num -gt 200 ];
then
echo "Eligible for 20% discount"
elif [[ $num == 200 || $num == 100 ]];
then
echo "Lucky Draw Winner"
echo "Eligible to get the item for free"
elif [[ $num -gt 100 && $num -lt 200 ]];
then
echo "Eligible for 10% discount"
elif [ $num -lt 100 ];
then
echo "No discount"
fi
Ghi chú: Lưu ý rằng khối else là tùy chọn.
Nếu chúng ta nhập số lượng là 100, thì kết quả sẽ như sau:
Kết luận
Trong chủ đề này, chúng ta đã tìm hiểu về cú pháp và cách sử dụng câu lệnh Bash else-if với các ví dụ.