Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Thành Thạo Câu Lệnh If-Else Trong Bash: Cú Pháp Rõ Ràng & Ví Dụ Thực Tế

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 $b hoặc $a < $b
  • Lớn hơn - ký hiệu: $a -gt $b hoặc $a > $b
  • Nhỏ hơn hoặc bằng - ký hiệu: $a -le $b hoặc $a <= $b
  • Lớn hơn hoặc bằng - ký hiệu: $a -ge $b hoặc $a >= $b
  • Bằng - ký hiệu: $a -eq $b hoặc $a == $b
  • Khác - ký hiệu: $a -ne $b hoặ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 $b hoặc $a && $b đánh giá true khi cả hai vế đều đúng.
  • Logic OR - ký hiệu $a OR $b hoặc $a || $b đánh giá true khi í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