Các câu lệnh điều kiện Bash thực hiện các tính toán hoặc hành động khác nhau tùy thuộc vào việc một điều kiện boolean do người lập trình chỉ định đánh giá là true hay false. Các câu lệnh này được sử dụng để thực thi các phần khác nhau của chương trình shell của bạn tùy thuộc vào việc liệu các điều kiện nhất định có đúng hay không. Khả năng phân nhánh làm cho các tập lệnh shell trở nên mạnh mẽ.
Trong Bash, chúng ta có các câu lệnh điều kiện sau:
- câu lệnh if..then..fi (Nếu đơn giản)
- if..then..else..fi statement (If-Else)
- if..elif..else..fi statement (Else If bậc thang)
- if..then..else..if..then..fi..fi .. (Lồng nhau nếu)
Chúng tương tự như câu lệnh awk if mà chúng ta đã thảo luận trước đó.
1. Câu lệnh Bash If..then..fi
if [ conditional expression ] then statement1 statement2 . fi
Câu lệnh if này cũng được gọi là câu lệnh if đơn giản. Nếu biểu thức điều kiện đã cho là true, nó sẽ nhập và thực hiện các câu lệnh nằm giữa các từ khóa “then” và “fi”. Nếu biểu thức đã cho trả về 0, thì danh sách câu lệnh kết quả sẽ được thực thi.
ví dụ if then fi:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi
2. Câu lệnh Bash If..then..else..fi
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
Nếu biểu thức điều kiện là true, nó thực hiện câu lệnh1 và 2. Nếu biểu thức điều kiện trả về 0, nó sẽ nhảy sang phần khác và thực hiện câu lệnh 3 và 4. Sau khi thực hiện phần if / else, việc thực thi tiếp tục với các câu lệnh hệ quả.
if then else fi ví dụ:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
Lưu ý: Bài viết này là một phần của loạt bài Hướng dẫn về Bash đang diễn ra.
3. Bash If..elif..else..fi
If [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
Bạn có thể sử dụng điều này if .. elif .. if, nếu bạn muốn chọn một trong nhiều khối mã để thực thi. Nó kiểm tra biểu thức 1, nếu đúng thì thực hiện câu lệnh 1,2. Nếu biểu thức1 là sai, nó sẽ kiểm tra biểu thức2 và nếu tất cả biểu thức là sai, thì nó sẽ nhập vào khối else và thực thi các câu lệnh trong khối else.
if then elif then else fi ví dụ:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi
4. Bash If..then..else..if..then..fi..fi ..
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
Câu lệnh if và câu lệnh else có thể được lồng trong bash. Từ khóa “fi” cho biết phần cuối của câu lệnh if bên trong và tất cả câu lệnh if phải kết thúc bằng từ khóa “fi”.
Ví dụ “if then elif then else fi” được đề cập ở trên có thể được chuyển đổi thành if lồng nhau như được hiển thị bên dưới.
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
Trong bài viết tiếp theo, chúng ta sẽ thảo luận về cách sử dụng biểu thức điều kiện Bash với các ví dụ thực tế.
Đọc đề xuất
Bash 101 Hacks, bởi Ramesh Natarajan . Tôi dành phần lớn thời gian trên môi trường Linux. Vì vậy, dĩ nhiên tôi là một người rất hâm mộ dòng lệnh Bash và kịch bản shell. 15 năm trước, khi tôi làm việc trên các phiên bản * nix khác nhau, tôi đã từng viết rất nhiều mã trên C shell và Korn shell. Những năm sau đó, khi tôi bắt đầu làm việc trên Linux với tư cách là quản trị viên hệ thống, tôi đã tự động hóa mọi tác vụ có thể bằng cách sử dụng Bash shell scripting. Dựa trên kinh nghiệm sử dụng Bash của mình, tôi đã viết sách điện tử Bash 101 Hacks chứa 101 ví dụ thực tế về cả dòng lệnh Bash và kịch bản shell. Nếu bạn đang nghĩ đến việc thành thạo Bash, hãy tự giúp mình và đọc cuốn sách này, cuốn sách này sẽ giúp bạn kiểm soát dòng lệnh Bash và tập lệnh shell của mình.