×

Từ khóa then và fi Cách kết thúc khối if trong Bash

Trong lập trình Bash, việc xử lý các khối điều kiện là rất cần thiết để kiểm soát dòng chảy của chương trình. Một trong những cách phổ biến để thực hiện điều này là sử dụng câu lệnh if. Để hiểu rõ hơn về cách sử dụng từ khóa thenfi, chúng ta sẽ đi sâu vào cách kết thúc khối if trong Bash, cùng với các ví dụ và các trường hợp thường gặp.

Khái niệm cơ bản về điều kiện trong Bash

Khi lập trình trong môi trường shell, việc thực hiện các quyết định dựa trên điều kiện là rất quan trọng. Câu lệnh if trong Bash cho phép bạn thực hiện mã lệnh chỉ khi một điều kiện nào đó được thỏa mãn. Nếu điều kiện không được thỏa mãn, bạn có thể chỉ định các lệnh khác để thực hiện, sử dụng các từ khóa như elseelif.

Cấu trúc của câu lệnh if trong Bash

Cấu trúc cơ bản của một khối if trong Bash như sau:

if [ điều kiện ]; then
    # lệnh cần thực hiện nếu điều kiện là đúng
else
    # lệnh cần thực hiện nếu điều kiện là sai
fi

Trong đó:

  • if là từ khóa để bắt đầu một khối câu lệnh điều kiện.
  • [] được sử dụng để kiểm tra điều kiện.
  • then chỉ ra rằng các lệnh tiếp theo sẽ thực thi nếu điều kiện là đúng.
  • else là tùy chọn, và nó cung cấp một đường đi thay thế nếu điều kiện ban đầu không được thỏa mãn.
  • fi là từ khóa để đóng khối if.

Chi tiết về từ khóa then

Từ khóa then là một phần không thể thiếu trong cú pháp của câu lệnh if. Nó đánh dấu sự bắt đầu của khối lệnh sẽ được thực hiện nếu điều kiện trong câu lệnh if là đúng. Nếu không có then, shell sẽ không biết được rằng các lệnh sau đó là những gì cần được thực thi khi điều kiện được thoả mãn.

Ví dụ sử dụng then

Dưới đây là một ví dụ đơn giản về cách sử dụng then trong Bash:

#!/bin/bash

age=18

if [ $age -ge 18 ]; then
    echo "Bạn đủ tuổi để tham gia."
else
    echo "Bạn chưa đủ tuổi để tham gia."
fi

Trong ví dụ này, nếu biến age lớn hơn hoặc bằng 18, thông điệp “Bạn đủ tuổi để tham gia.” sẽ được in ra. Nếu không, thông điệp “Bạn chưa đủ tuổi để tham gia.” sẽ được in ra.

Cách kết thúc khối if với fi

Từ khóa fi là từ khóa để kết thúc khối if. Nó có tác dụng tương tự như dấu ngoặc nhọn } trong các ngôn ngữ lập trình khác như C, PHP hay Java. Khi gặp fi, shell sẽ biết rằng khối if đã kết thúc và có thể tiếp tục thực thi các lệnh khác bên ngoài khối if.

Ví dụ sử dụng fi

Để hiểu rõ hơn, chúng ta có thể mở rộng ví dụ trước:

#!/bin/bash

read -p "Nhập tuổi của bạn: " age

if [ $age -ge 18 ]; then
    echo "Bạn đủ tuổi để tham gia."
else
    echo "Bạn chưa đủ tuổi để tham gia."
fi

echo "Cảm ơn bạn đã sử dụng chương trình!"

Trong ví dụ này, sau khi khối if kết thúc bằng fi, câu lệnh echo "Cảm ơn bạn đã sử dụng chương trình!" sẽ được thực thi bất kể điều kiện là đúng hay sai.

Kết hợp lệnh if với lệnh khác

Bash cho phép kết hợp nhiều lệnh if, điều kiện và các khối lệnh khác như else, elif để xây dựng các logic phức tạp. Một ví dụ phổ biến là:

#!/bin/bash

read -p "Nhập điểm số của bạn: " score

if [ $score -ge 90 ]; then
    echo "Bạn đạt loại xuất sắc."
elif [ $score -ge 75 ]; then
    echo "Bạn đạt loại khá."
elif [ $score -ge 60 ]; then
    echo "Bạn đạt loại trung bình."
else
    echo "Bạn cần cải thiện hơn."
fi

Thông qua ví dụ này, chúng ta có thể dễ dàng nhìn thấy cách các khối if có thể được lồng vào nhau và kết thúc với từ khóa fi để chỉ định ranh giới của khối điều kiện.

Một số trường hợp điều kiện đặc biệt

Khi lập trình trong Bash, việc xử lý các điều kiện có thể không chỉ đơn giản là so sánh số hoặc chuỗi. Bạn cũng có thể kiểm tra các điều kiện như tồn tại file, hay tính đúng/sai của một lệnh:

Kiểm tra sự tồn tại của file

#!/bin/bash

file="test.txt"

if [ -e $file ]; then
    echo "File tồn tại."
else
    echo "File không tồn tại."
fi

Kiểm tra một lệnh

#!/bin/bash

ping -c 1 google.com &> /dev/null

if [ $? -eq 0 ]; then
    echo "Kết nối Internet thành công."
else
    echo "Kết nối Internet thất bại."
fi

Kết luận

Việc sử dụng thenfi trong câu lệnh if là rất quan trọng để điều hướng các luồng logic trong Bash. Các khối điều kiện giúp chương trình của bạn có thể đưa ra quyết định dựa trên các điều kiện cụ thể. Hãy thử nghiệm với các điều kiện khác nhau và kết hợp chúng với lệnh khác để tạo ra những kịch bản mạnh mẽ và linh hoạt.

Ngoài ra, cũng cần chú ý đến việc kiểm tra lỗi và các kỹ thuật lập trình tốt khác khi làm việc với bash scripting, điều này sẽ làm cho mã của bạn không chỉ chạy tốt mà còn dễ dàng bảo trì và mở rộng trong tương lai.

Comments