Sunday, January 19, 2025

[Bash] Lesson 14 – Bash If Else Statement

-

Bash If Else

Trong chủ đề này, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh if-else trong các script Bash để hoàn thành các tác vụ tự động.

Câu lệnh if-else trong Bash được sử dụng để thực hiện các tác vụ có điều kiện trong luồng thực hiện các câu lệnh tuần tự. Đôi khi, chúng ta muốn xử lý một tập hợp cụ thể các câu lệnh nếu một điều kiện là đúng và một tập hợp khác của câu lệnh nếu điều kiện đó là sai. Để thực hiện các hành động loại đó, chúng ta có thể áp dụng cơ chế if-else. Chúng ta có thể áp dụng điều kiện với câu lệnh ‘if’.

Cú pháp If Else trong Bash

Cú pháp của câu lệnh if-else trong Bash Shell Scripting có thể được định nghĩa như sau:

if [ condition ];  
then  
   <if block commands>  
else  
  <else block commands>  
fi  

Điểm quan trọng cần nhớ:

Chúng ta có thể sử dụng một tập hợp một hoặc nhiều điều kiện được nối với các toán tử điều kiện. Lệnh trong khối else bao gồm một tập hợp các hành động để thực hiện khi điều kiện là sai. Dấu chấm phẩy (;) sau biểu thức điều kiện là bắt buộc.

Xem các ví dụ sau đây để minh họa việc sử dụng câu lệnh if-else trong Bash Script:

Ví dụ 1

Ví dụ sau bao gồm hai kịch bản khác nhau trong đó trong câu lệnh if-else đầu tiên, điều kiện là đúng và trong câu lệnh if-else thứ hai, điều kiện là sai.

#!/bin/bash  
  
#when the condition is true  
if [ 10 -gt 3 ];  
then  
  echo "10 is greater than 3."  
else  
  echo "10 is not greater than 3."  
fi  
  
#when the condition is false  
if [ 3 -gt 10 ];  
then  
  echo "3 is greater than 10."  
else  
  echo "3 is not greater than 10."  
fi  

Kết quả

Trong biểu thức if-else đầu tiên, điều kiện (10 -gt 3) là đúng nên câu lệnh trong khối if được thực thi. Trong khi đó, trong biểu thức if-else khác, điều kiện (3 -gt 10) là sai nên câu lệnh trong khối else được thực thi.

Ví dụ 2

Trong ví dụ này, chúng ta sẽ giải thích cách sử dụng nhiều điều kiện với câu lệnh if-else trong Bash. Chúng ta sử dụng các toán tử logic Bash để kết hợp nhiều điều kiện.

#!/bin/bash  
  
# When condition is true  
# TRUE && FALSE || FALSE || TRUE  
if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]];  
then  
  echo "Given condition is true."  
else  
  echo "Given condition is false."  
fi  
  
# When condition is false  
#TRUE && FALSE || FALSE || TRUE  
if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]];  
then  
  echo "Given condition is true."  
else  
  echo "Given condition is not true."  
fi  

Kết quả

Câu lệnh Bash If Else trong một dòng

Chúng ta có thể viết toàn bộ ‘câu lệnh if-else’ cùng với các lệnh trong một dòng duy nhất. Bạn cần tuân theo các quy tắc sau để sử dụng câu lệnh if-else trong một dòng:

Sử dụng dấu chấm phẩy (;) ở cuối các lệnh trong các khối if và else. Sử dụng khoảng trống làm phân tách để gộp tất cả các lệnh. Một ví dụ được đưa ra bên dưới để minh họa cách sử dụng câu lệnh if-else trong một dòng:

Ví dụ

#!/bin/bash  
  
read -p "Enter a value:" value  
if [ $value -gt 9 ]; then echo "The value you typed is greater than 9."; else echo "The value you typed is not greater than 9."; fi  

Khi chúng ta nhập giá trị là 25, thì đầu ra sẽ như sau:

Bash Nested If Else (If-Else Lồng nhau trong Bash)

Tương tự như lệnh if lồng nhau, lệnh if-else cũng có thể được sử dụng bên trong một lệnh if-else khác. Điều này được gọi là lệnh if-else lồng nhau trong Bash scripting.

Dưới đây là một ví dụ giải thích cách sử dụng lệnh if-else lồng nhau trong Bash:

Ví dụ

#!/bin/bash  
  
read -p "Enter a value:" value  
if [ $value -gt 9 ];  
then  
  if [ $value -lt 11 ];  
  then  
     echo "$value>9, $value<11"  
  else  
    echo "The value you typed is greater than 9."  
  fi  
else echo "The value you typed is not greater than 9."  
fi  

Nếu chúng ta nhập giá trị là 10, thì đầu ra 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 if-else trong Bash với các ví dụ.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories