Bash If Statement Linux Shell IF-Else Syntax Ví dụ

Trong kịch bản bash, câu lệnh IF là một trong những công cụ quan trọng nhất để đưa ra quyết định và kiểm soát luồng của một tập lệnh. Nó cho phép bạn kiểm tra một điều kiện và thực thi các khối mã khác nhau dựa trên kết quả của bài kiểm tra đó. Với câu lệnh IF, bạn có thể tạo các tập lệnh mạnh mẽ có thể xử lý một loạt các kịch bản và tác vụ.

Cú pháp cơ bản của câu lệnh IF trong bash là:


Nếu điều kiện
sau đó
Mã-to-Execute-IF-Điều kiện-IS-True
khác
mã-to-Execute-if-Medi-is-false
fi

Ở đây, điều kiện là điều kiện cần kiểm tra và mã-to-Execute-IF-CoDtion-is-True và Code-to-Execute-IF-Cons-is-false là các khối mã được thực thi tùy thuộc vào kết quảcủa điều kiện. Điều quan trọng cần lưu ý là mỗi dòng mã trong các khối phải được theo sau bởi dấu chấm phẩy (;).

Bạn cũng có thể sử dụng từ khóa Elif, là viết tắt của "nếu không", để kiểm tra nhiều điều kiện theo một chuỗi. Điều này cho phép bạn tạo ra các cấu trúc ra quyết định phức tạp hơn trong các tập lệnh của bạn.

Bash nếu tuyên bố

Bash If Statement-Linux Shell IF-Else Syntax Ví dụ

Trong kịch bản bash,ifTuyên bố được sử dụng để đưa ra quyết định dựa trên một điều kiện nhất định. Nó cho phép bạn thực thi một tập hợp các lệnh cụ thể dựa trên việc một điều kiện là đúng hay sai. Cú pháp cơ bản choifTuyên bố như sau:

Cú pháp Sự miêu tả
Nếu điều kiện thì # mã để thực thi nếu điều kiện là đúng # mã sẽ thực thi nếu điều kiện là sai fi Tuyên bố IF bao gồm một số điều khoản. Cáctình trạnglà điều kiện cần kiểm tra, tiếp theo làsau đóTừ khóa. Nếu điều kiện là đúng, khối mã sausau đóđược thực hiện. Nếu không, khối mã saukhácđược thực hiện. CácfiTừ khóa đánh dấu sự kết thúc của câu lệnh if.

Dưới đây là một số ví dụ:

Ví dụ Sự miêu tả
Nếu [$ thời tiết = "Sunny"] thì Echo "Đó là một ngày nắng!"Khác Echo "Hôm nay không có nắng."fi Ví dụ này kiểm tra xem biến có thể$ thời tiếtbằng với chuỗi "Sunny". Nếu có, nó in "Đó là một ngày nắng!". Nếu không, nó in "Hôm nay không có nắng."
Nếu [[$ user_input =~^[0-9]+$]] sau đó echo "Đầu vào hợp lệ: $ user_input là một số."Khác Echo "Đầu vào không hợp lệ: $ user_input không phải là một số."fi Ví dụ này kiểm tra xem đầu vào người dùng có phải là số hợp lệ hay không bằng cách kiểm tra xem nó có bao gồm một hoặc nhiều chữ số hay không. Nếu có, nó in "Đầu vào hợp lệ: $ user_input là một số.". Mặt khác, nó in "Đầu vào không hợp lệ: $ user_input không phải là một số."
if (( $num1 == $num2 )) thì echo "Các số bằng nhau."else echo "Các con số không bằng nhau."fi Ví dụ này so sánh giá trị của hai biến,$num1$num2. Nếu chúng bằng nhau, nó sẽ in "Các số bằng nhau.". Nếu không, nó sẽ in ra "Các số không bằng nhau."

Điều quan trọng cần lưu ý là từ khóafiluôn luôn trỏ lại tương ứngiftuyên bố. Ngoài ra, trong tập lệnh bash,iftuyên bố có thể được sử dụng theo nhiều cách khác nhau để tạo ra các điều kiện và cấu trúc ra quyết định phức tạp hơn. Hướng dẫn này cung cấp một cái nhìn tổng quan chung về cách sử dụng cơ bản củaiftuyên bố trong bash.

Ví dụ về cú pháp If-Else của Linux Shell

Linux Shell IF-Else Syntax Ví dụ

Trong tập lệnh shell Linux,nếu kháctuyên bố là một cấu trúc cơ bản cho phép bạn đưa ra quyết định dựa trên các điều kiện nhất định. Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng cơ bản củanếu kháccú pháp và cung cấp các ví dụ để giúp bạn hiểu cách áp dụng nó trong tập lệnh của mình.

Cấu trúc cơ bản củanếu kháctuyên bố trong Bash như sau:

  • Cáciftừ khóa được theo sau bởi một điều kiện, được đặt trong dấu ngoặc vuông ([ ]), điều đó ước tính làĐÚNG VẬYhoặcSAI.
  • Nếu điều kiện đúng, mã bên trongifkhối được thực thi.
  • Nếu điều kiện sai, mã bên trongkháckhối được thực thi nếu nó tồn tại.

Đây là một ví dụ đơn giảnnếu kháctuyên bố:


#!/bin/bash
thời tiết="nắng"
if [ "$thời tiết" == "nắng" ]; sau đó
echo "Thật là một ngày đẹp trời!"
khác
echo "Thời tiết không được tốt lắm."
fi

Trong ví dụ này, biếnthời tiếtgiữ chuỗinhiều nắng. Cácifcâu lệnh kiểm tra nếuthời tiếtbằngnhiều nắng. Nếu đúng như vậy, mã bên trongifkhối thực thi và in thông báo "Hôm nay là một ngày đẹp trời!". Ngược lại, mã bên trongkháckhối thực thi và in thông báo "Thời tiết không quá tuyệt vời."

Bạn cũng có thể sử dụngyêu tinhtừ khóa để xử lý nhiều điều kiện. Đây là một ví dụ:


#!/bin/bash
thời tiết="mưa"
if [ "$thời tiết" == "nắng" ]; sau đó
echo "Thật là một ngày đẹp trời!"
Elif [ "$thời tiết" == "mưa" ]; sau đó
echo "Đừng quên ô của bạn!"
khác
echo "Điều kiện thời tiết không xác định."
fi

Trong ví dụ này,ifcâu lệnh đầu tiên kiểm tra xemthời tiếtbằngnhiều nắng. Nếu đúng như vậy thì khối mã đầu tiên sẽ được thực thi. Nếu không,yêu tinhcâu lệnh kiểm tra nếuthời tiếtbằngnhiều mưa. Nếu đúng thì khối mã thứ hai sẽ được thực thi. Nếu cả hai điều kiện đều không đúng thì mã bên trongkháckhối thực thi.

Điều quan trọng cần lưu ý là các chuỗi trong bash là nhạy cảm với trường hợp. Vì vậy, "Sunny" khác với "Sunny". Đảm bảo bạn cung cấp vỏ chính xác trong điều kiện của bạn.

Hãy nhớ rằngnếu khácTuyên bố không giới hạn trong việc xử lý so sánh chuỗi. Bạn có thể sử dụng nó với các nhà khai thác khác, chẳng hạn như-Eqđể so sánh số,-ltvới ít hơn,-gtcho lớn hơn, và nhiều hơn nữa.

Kết luận,nếu khácTuyên bố là một công cụ mạnh mẽ trong kịch bản Linux Shell cho phép bạn đưa ra quyết định dựa trên các điều kiện. Với khả năng xử lý nhiều điều kiện và tổnếu khácCác câu lệnh, bạn có thể tạo logic phức tạp trong tập lệnh của mình. Hiểu cú pháp này là điều cần thiết cho bất kỳ người đam mê kịch bản shell hoặc quản trị viên hệ thống.

Sử dụng các câu lệnh nếu được lồng vào bash

Sử dụng các câu lệnh nếu được lồng vào bash

Nested nếu các câu nói là một tính năng mạnh mẽ trong kịch bản bash cho phép ra quyết định phức tạp hơn. Trong Bash, một câu lệnh IF là cấu trúc cơ bản cho phép bạn thực thi một khối mã dựa trên một điều kiện. Tuy nhiên, đôi khi bạn có thể cần đưa ra nhiều quyết định hoặc thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau trong một kịch bản. Đó là nơi lồng nhau nếu các tuyên bố đến.

Khi sử dụng các câu lệnh Nested IF, bạn có thể có nhiều câu lệnh IF trong nhau, tạo ra một cấu trúc cho phép ra quyết định phức tạp hơn. Điều này có thể đặc biệt hữu ích khi xử lý các điều kiện phức tạp hoặc khi bạn cần thực thi mã khác nhau dựa trên nhiều biến.

Đây là một ví dụ về cách sử dụng các câu lệnh nếu có thể sử dụng câu lệnh:

#!/bin/bash
Echo "Nhập một số từ 1 đến 7:"
Đọc user_input
Nếu [$ user_inpu t-eq 1]; sau đó
Echo "Bạn đã nhập số 1."
Elif [$ user_inpu t-eq 2]; sau đó
Echo "Bạn đã nhập số 2."
khác
Nếu [$ user_inpu t-eq 3]; sau đó
Echo "Bạn đã nhập số 3."
Elif [$ user_inpu t-eq 4]; sau đó
Echo "Bạn đã nhập số 4."
khác
Echo "Bạn đã nhập một số lớn hơn 4."
fi
fi

Trong ví dụ này, tập lệnh nhắc người dùng nhập một số từ 1 đến 7. Câu lệnh IF đầu tiên kiểm tra xem người dùng có nhập 1 không và nếu vậy, xuất ra "Bạn đã nhập số 1."Mặt khác, tập lệnh chuyển sang các câu lệnh IF Nested, trong đó kiểm tra số 2, 3 và 4. Cuối cùng, nếu không có điều kiện nào trong số này được đáp ứng, thì khác sẽ chặn đầu ra "Bạn đã nhập một số lớn hơn 4."

Lồng nhau nếu các câu lệnh có thể được sử dụng để xử lý các điều kiện phức tạp hơn nữa. Ví dụ: bạn có thể có câu lệnh NOSTED IF trong khối khác để kiểm tra xem người dùng có nhập chuỗi hợp lệ hay câu lệnh IF khác trong khối IF để kiểm tra xem tệp có tồn tại trong thư mục không.

Nói chung, các câu lệnh nếu được lồng vào cùng một cú pháp cơ bản như một câu lệnh IF duy nhất: từ khóa "nếu", theo sau là điều kiện để kiểm tra, sau đó là một khối mã để thực thi nếu điều kiện là đúng. Sau đó, bạn có thể sử dụng "Elif" (viết tắt của nếu không) để thêm các điều kiện và khối mã bổ sung và "khác" để chỉ định những gì sẽ xảy ra nếu không có điều kiện nào được đáp ứng.

Một điều quan trọng cần lưu ý là bạn có thể làm tổ nếu các câu lệnh bao nhiêu lần bạn cần, nhưng hãy chắc chắn duy trì vết lõm thích hợp để làm cho mã của bạn dễ đọc hơn. Ngoài ra, hãy nhớ đóng mỗi câu lệnh IF với từ khóa "FI".

Tóm lại, lồng nhau nếu các tuyên bố trong Bash cung cấp một công cụ mạnh mẽ để đưa ra các quyết định phức tạp trong các kịch bản của bạn. Bằng cách sử dụng các câu lệnh Nested IF, bạn có thể tạo một luồng mã logic thực thi các hành động khác nhau dựa trên các điều kiện khác nhau, làm cho các tập lệnh của bạn linh hoạt và mạnh mẽ hơn.