Trong tập lệnh shell, các câu lệnh Bash if đóng vai trò quan trọng bằng cách cho phép các lập trình viên tạo các đường dẫn thực thi có điều kiện dựa trên các tình huống khác nhau. Về cơ bản, câu lệnh if cho phép chúng ta đưa ra quyết định trong các tập lệnh Bash, xem xét các yếu tố như kết quả kiểm tra, thông tin đầu vào của người dùng hoặc trạng thái hệ thống. Nó giống như một cách để điều hướng qua các khả năng khác nhau.
Khi sử dụng tập lệnh Bash, câu lệnh if tuân theo một cấu trúc cụ thể. Nó thường bắt đầu bằng “if” từ khóa, theo sau là điều kiện cần đánh giá, từ khóa “sau đó” từ khóa và một hoặc nhiều lệnh sẽ thực thi nếu điều kiện đúng.
Để làm cho mọi thứ linh hoạt hơn, câu lệnh if cũng có thể bao gồm tùy chọn “yêu tinhCâu lệnh " (else if), được sử dụng khi điều kiện ban đầu là sai. Nó cho phép chúng ta kiểm tra một điều kiện bổ sung và tiến hành tương ứng. Ngoài ra, câu lệnh if có thể có một câu lệnh "else" tùy chọn, câu lệnh này sẽ thực thi nếu không có điều kiện nào đúng.
Bằng cách kết hợp các câu lệnh if với các lệnh Bash khác và các tính năng của tập lệnh shell, lập trình viên có thể tạo ra các tập lệnh nâng cao có khả năng tự động hóa các tác vụ và quy trình phức tạp. Hãy theo dõi để khám phá thêm về câu lệnh Bash if, bao gồm cú pháp, trường hợp sử dụng và ví dụ của nó!
Cú pháp câu lệnh Bash If
Cú pháp Bash đề cập đến các quy tắc chi phối cấu trúc và ngữ pháp của các lệnh và tập lệnh được viết bằng ngôn ngữ shell Bash. Cú pháp Bash bao gồm nhiều cấu trúc và phần tử khác nhau, chẳng hạn như:
- Lệnh: Đây là các chương trình thực thi riêng lẻ hoặc các chương trình tích hợp shell được sử dụng để thực hiện các tác vụ cụ thể. Bạn sẽ dành phần lớn thời gian để lập trình Bash bằng những dòng đáng yêu này.
- Đối số: Đây là những giá trị được truyền cho các lệnh để chỉ định các tùy chọn, tham số hoặc dữ liệu đầu vào. Hãy coi chúng như những điều kiện được đặt cho một lệnh để chỉ định các tham số thực thi của nó.
- Biến: Đây là những ký hiệu đại diện cho các giá trị có thể được gán, thao tác hoặc sử dụng trong biểu thức. Chúng thường được sử dụng để xác định các giá trị mà cả lệnh và đối số phải xử lý.
- Chuyển hướng: Đây là quá trình chuyển hướng đầu vào, đầu ra hoặc lỗi đến hoặc từ các tệp, thiết bị hoặc các lệnh khác. Nếu không có những thứ này, khả năng cao là các lệnh của bạn nhắm mục tiêu sai đích và làm rối mã của bạn.
- Ống: Đây là cơ chế kết nối đầu ra của lệnh này với đầu vào của lệnh khác. Chúng thường được sử dụng để thực hiện các dòng lệnh có điều kiện nâng cao trong các chương trình lớn và để tạo các dòng lệnh đan xen.
- Cấu trúc điều khiển: Đây là các cấu trúc kiểm soát luồng thực thi các lệnh, chẳng hạn như vòng lặp, điều kiện và hàm. Hiểu cấu trúc điều khiển là chìa khóa trong việc tạo ra các dòng lệnh mới và mang lại mức độ sâu khác cho mã của bạn.
- Bình luận: Đây là các chú thích bị shell bỏ qua và được sử dụng để ghi lại mã hoặc cung cấp giải thích. Đây là những điểm tham chiếu quan trọng khi thực hiện phân tích và gỡ lỗi, đặc biệt là trong các dự án nhóm.
Cú pháp Bash phải được viết chính xác để shell diễn giải và thực thi các lệnh. Lỗi cú pháp có thể khiến shell tạo ra thông báo lỗi hoặc hành vi không mong muốn.
Đây là câu lệnh Bash if đang hoạt động:
if condition then command1 command2 ... commandN elif condition2 then commandA commandB ... commandC else commandX commandY ... commandZ fi
Trong trường hợp chúng ta có ở đây, “điều kiện” đề cập đến một thử nghiệm cho ra kết quả đúng hoặc sai. Khi điều kiện đúng, các lệnh tiếp theo được chỉ định sau từ khóa “then” sẽ được thực thi. Bây giờ, giả sử chúng ta muốn đánh giá một điều kiện bổ sung. Chúng ta có thể sử dụng từ khóa “elif” để làm điều này. Nó cung cấp một cách để xem xét một khả năng khác. Bây giờ, nếu không có điều kiện nào đúng thì các lệnh được chỉ định sau từ khóa “else” sẽ có hiệu lực. Nó giống như một kế hoạch dự phòng. Cuối cùng, để biểu thị kết luận của câu lệnh if, chúng ta sử dụng từ khóa “if”.
Câu lệnh Bash hoạt động như thế nào?
Khi nói đến tập lệnh Bash, câu lệnh if trở nên khá hữu ích trong việc hướng dẫn luồng tập lệnh dựa trên kết quả của bài kiểm tra có điều kiện. Mục đích của nó xoay quanh việc đánh giá một điều kiện và nếu thấy đúng thì sẽ thực thi một bộ lệnh cụ thể.
Bây giờ, chúng ta hãy xem qua cách mọi thứ thường diễn ra khi một câu lệnh if xuất hiện trong tập lệnh Bash. Tập lệnh mất một chút thời gian để đánh giá điều kiện được đề cập trong câu lệnh if. Nếu điều kiện được chứng minh là đúng, các lệnh trong khối “then” sẽ lần lượt được thực thi.
Tuy nhiên, nếu điều kiện sai, tập lệnh sẽ tiếp tục đánh giá bất kỳ điều kiện Elif bổ sung nào. Nếu bất kỳ điều kiện nào trong số này đúng, các lệnh của khối Elif tương ứng sẽ được thực thi. Trong trường hợp không có điều kiện nào được chỉ định trong câu lệnh if và elif có vẻ đúng, tập lệnh sẽ thừa nhận điều này và tiến hành thực thi các lệnh được chỉ định trong khối else (nếu có khối else).
Về cơ bản, câu lệnh if đóng vai trò như một phương tiện hỗ trợ việc ra quyết định trong tập lệnh, cho phép tập lệnh đi qua các đường dẫn thực thi khác nhau tùy thuộc vào kết quả kiểm thử. Bản thân thử nghiệm có thể tính đến nhiều yếu tố khác nhau, chẳng hạn như kết quả của lệnh hoặc giá trị được gán cho một biến.
Câu lệnh Bash If được minh họa
Bây giờ chúng ta hãy thoát khỏi lý thuyết cơ bản và xem câu lệnh Bash if có thể được sử dụng như thế nào trong quá trình phát triển mã hóa tích cực. Đây là một ví dụ minh họa cách hoạt động của câu lệnh Bash if:
#!/bin/bash # set a variable x=5 # evaluate the variable if [ $x -gt 4 ] then echo "x is greater than 4." else echo "x is less than or equal to 4." fi
Trong ví dụ này, câu lệnh if đánh giá giá trị của biến x. Nếu x lớn hơn 4, tập lệnh sẽ thực thi lệnh in “x lớn hơn 4”. Nếu x nhỏ hơn hoặc bằng 4, tập lệnh sẽ thực thi lệnh in “x nhỏ hơn hoặc bằng 4”.
Làm quen với các câu lệnh Bash If khác nhau và cú pháp lệnh liên quan
Bây giờ bạn đã hiểu rõ về Câu lệnh Bash If trần trụi và cách thức hoạt động của nó, hãy cùng tìm hiểu sâu hơn về các biến thể và các lệnh liên quan, đồng thời tìm hiểu thêm về Câu lệnh If cơ bản, Câu lệnh Nested If, Bash If Else, If Elif Else và Case Statement lần lượt.
Câu lệnh If cơ bản
Hãy bắt đầu với câu lệnh bash if cơ bản. Câu lệnh if trong Bash kiểm tra xem điều kiện có đúng hay không và thực thi một khối mã liên quan tương ứng. Đây là cú pháp:
if [ condition ] then commands fi
Trong trường hợp chúng ta đang gặp ở đây, tập lệnh sẽ đánh giá điều kiện và nếu nó đúng, các lệnh đã chỉ định sẽ được thực thi. Nếu điều kiện sai, tập lệnh sẽ chuyển sang lệnh tiếp theo mà không thực thi khối trong phần “then”.
Câu lệnh if lồng nhau
Câu lệnh if lồng nhau, như tên quảng cáo ngụ ý, là câu lệnh if được “lồng” bên trong một câu lệnh if khác. Cấu trúc lồng nhau này cho phép thực hiện các thử nghiệm và phân tích phức tạp hơn trong một tập lệnh. Đây là một ví dụ về câu lệnh if lồng nhau:
if [ condition1 ]
then
if [ condition2 ]
then
commands
fi
fi
Bạn có thể thấy trong các lệnh mà tập lệnh đánh giá điều kiện1 là bước đầu tiên. Nếu điều kiện 1 được xác minh là đúng thì nó sẽ đánh giá điều kiện 2. Nếu điều kiện 2 cũng đúng thì tập lệnh sẽ thực thi các lệnh cần thiết.
Câu lệnh Bash If Else
Câu lệnh Bash if else cho phép bạn đưa ra quyết định trong tập lệnh của mình dựa trên việc điều kiện là đúng hay sai, cho phép thực thi mã tình huống nâng cao hơn. Đây là cấu trúc trông như thế nào:
if [ condition ] then commands1 else commands2 fi
Cấu trúc này đảm bảo rằng nếu điều kiện được giữ, tập lệnh của bạn sẽ nhanh chóng thực thi “lệnh1”. Tuy nhiên, nếu điều kiện sai, nó sẽ chuyển sang thực thi “lệnh2”.
Câu lệnh If Elif Else
Đôi khi, bạn cần xem xét nhiều điều kiện và kết quả tương ứng của chúng. Câu lệnh if elif else cho phép bạn thực hiện chính xác điều đó. Quan sát cú pháp sau:
if [ condition1 ] then commands1 elif [ condition2 ] then commands2 else commands3 fi
Ở đây, tập lệnh của bạn đánh giá điều kiện1 trước. Nếu nó được xác minh là đúng; nó sẽ nhanh chóng thực thi lệnh1. Tuy nhiên, nếu điều kiện 1 sai, tập lệnh của bạn sẽ chuyển sang đánh giá điều kiện 2. Nếu điều kiện 2 đúng thì tiếp tục thực thi lệnh 2. Và nếu cả hai điều kiện1 và điều kiện2 đều sai, tập lệnh của bạn sẽ chuyển sang tập lệnh thay thế đang thực thi lệnh3.
Báo cáo trường hợp
Trong Bash, bạn có câu lệnh case, có chức năng tương tự như câu lệnh switch trong các ngôn ngữ lập trình khác. Nó cung cấp một cách để thực thi các nhóm lệnh khác nhau dựa trên giá trị của một biến. Hãy nhìn vào cấu trúc:
case expression in pattern1) commands1;; pattern2) commands2;; pattern3) commands3;; *) default commands;; esac
Ở đây, tập lệnh đánh giá biến biểu thức và khớp nó với các mẫu khác nhau. Khi tìm thấy kết quả khớp, tập lệnh tương ứng sẽ được thực thi. Tuy nhiên, nếu không tìm thấy kết quả khớp nào, các lệnh mặc định sẽ được thực thi một cách duyên dáng. Mẫu dấu hoa thị (*) hoạt động như một ký tự đại diện, khớp với bất kỳ thứ gì chưa được che phủ.
Toán tử logic Bash
Một phần quan trọng khác của cơ chế câu lệnh Bash if là Toán tử logic. Các toán tử này cho phép bạn kết hợp nhiều điều kiện, cho phép bạn đưa ra quyết định dựa trên tính đúng hay sai của các điều kiện kết hợp này. Bash kết hợp ba toán tử logic chính để sử dụng trong câu lệnh if. Dưới đây là ví dụ về ba loại lệnh toán tử logic chính.
- Bash VÀ (&&):
if [ $age -ge 18 ] && [ "$citizen" == "yes" ]; then echo "You meet the criteria for voting." fi
- Logic hoặc (II):
if [ "$status" == "active" ] || [ "$role" == "admin" ]; then echo "Access granted." fi
- Không bằng:
if(( ! $a == "true" )) then echo "a" was initially false. else echo "a" was initially true. fi
Phần kết luận
Trong bài đăng trên blog này, chúng tôi đã cung cấp hướng dẫn giới thiệu về các câu lệnh Bash if và cách sử dụng chúng. Chúng tôi cũng thảo luận về cách họ có thể làm cho mã của bạn gọn gàng hơn và nhiều chức năng hơn. Bằng cách sử dụng các câu lệnh điều kiện này một cách hiệu quả, bạn có thể tạo các tập lệnh mạnh mẽ có khả năng xử lý các tác vụ và ra quyết định phức tạp.
Bạn là người mới làm quen với thế giới Linux? Hãy để chúng tôi là ánh sáng dẫn đường cho bạn trên hành trình thú vị này! Của chúng tôi VPS Linux là điểm khởi đầu hoàn hảo cho người mới bắt đầu, mang lại sự đơn giản mà không ảnh hưởng đến sức mạnh. Với giao diện thân thiện với người dùng và sự hỗ trợ của chuyên gia, bạn sẽ thấy việc khai thác các khả năng của máy chủ Linux dễ dàng hơn bao giờ hết. Cho dù bạn đang thiết lập trang web, thử nghiệm ứng dụng hay khám phá thế giới Linux rộng lớn, VPS Linux của chúng tôi đều cung cấp một môi trường an toàn và không rắc rối. Hãy tự tin bước những bước đầu tiên vào vũ trụ Linux – hãy xem các tùy chọn VPS Linux của chúng tôi ngay hôm nay và bắt tay vào cuộc phiêu lưu Linux của bạn!
Hãy sở hữu cho mình một VPS Linux cao cấp hoặc tiết kiệm để lưu trữ trang web hoặc máy tính từ xa của bạn với mức giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ lưu trữ SSD NVMe để tăng tốc độ.
Đọc thêmCâu hỏi thường gặp
Tôi có thể sử dụng các toán tử logic trong câu lệnh Bash if không?
Có, bạn có thể sử dụng các toán tử logic như ‘&’ Và ‘||’ trong câu lệnh Bash if. Ví dụ, if [ $var -gt 0 ] && [ $var -lt 10 ]; sau đó … sẽ thực thi khối mã nếu $var lớn hơn 0 và nhỏ hơn 10.
Tôi có thể sử dụng nhiều điều kiện trong một câu lệnh if không?
Có, bạn có thể sử dụng Bash if nhiều điều kiện trong một câu lệnh if bằng cách sử dụng các toán tử logic như -a (VÀ) hoặc -o (HOẶC) để kết hợp chúng. Ví dụ, if [ $var -gt 0 -a $var -lt 10 ]; sau đó … sẽ thực thi khối mã nếu $var lớn hơn 0 VÀ nhỏ hơn 10.
Tôi có thể sử dụng thay thế lệnh trong câu lệnh Bash if không?
Có, bạn có thể sử dụng tính năng thay thế lệnh trong câu lệnh Bash if bằng cách đặt lệnh đó trong $() hoặc dấu ngược (”). Ví dụ, if [ $(whoami) == “root” ]; sau đó … sẽ thực thi khối mã nếu người dùng hiện tại là root.
[[ vs [ vs ( vs ((: Sự khác biệt giữa các toán tử Bash này là gì?
Nói tóm lại, [[ được sử dụng để kiểm tra điều kiện nâng cao. [ được sử dụng để kiểm tra điều kiện cơ bản. ( được sử dụng để nhóm con và thực thi lệnh. (( được sử dụng cho các phép toán số học.