Khi viết mã, bạn có thể cần đưa ra quyết định dựa trên các điều kiện nhất định. Điều kiện là các biểu thức đánh giá thành biểu thức boolean (true hoặc false ).
Các câu lệnh giúp thực thi các nhánh mã khác nhau dựa trên các điều kiện nhất định được gọi là câu lệnh có điều kiện.
if...else là một trong những câu lệnh điều kiện được sử dụng phổ biến nhất. Giống như các ngôn ngữ lập trình khác, tập lệnh Bash cũng hỗ trợ if...else các tuyên bố. Và chúng ta sẽ nghiên cứu chi tiết điều đó trong bài viết blog này.
Cú pháp của if Tuyên bố
Bạn có thể sử dụng if phát biểu theo nhiều cách khác nhau. Cấu trúc chung của if tuyên bố như sau:
- Sử dụng
ifchỉ câu lệnh:if...then...fi - Sử dụng và
ifvớielsecâu lệnh:if...then...else...fituyên bố - Sử dụng nhiều
elsecâu lệnh cóif:if..elif..else..fi
##
Cách sử dụng if Tuyên bố
Khi bạn đang sử dụng một if câu lệnh, cú pháp như sau:
if [ condition ]
then
statement
fi
Lưu ý rằng dấu cách là một phần của cú pháp và không nên xóa.
Hãy xem một ví dụ trong đó chúng ta so sánh hai số để tìm xem số đầu tiên có nhỏ hơn hay không.
#! /bin/sh
a=5
b=30
if [ $a -lt $b ]
then
echo "a is less than b"
fi
Nếu bạn chạy đoạn mã trên, điều kiện if [ $a -lt $b ] ước tính là True , và câu lệnh bên trong câu lệnh if sẽ thực thi
Đầu ra:
a is less than b
Cách sử dụng if .. else Tuyên bố
Khi bạn đang sử dụng if và bạn muốn thêm điều kiện khác thì cú pháp như sau:
if [ condition ]
then
statement
else
do this by default
fi
Hãy xem một ví dụ trong đó chúng ta muốn tìm xem số thứ nhất lớn hơn hay nhỏ hơn số thứ hai. Đây, if [ $a -lt $b ] đánh giá là sai, điều này gây ra else một phần của mã để chạy.
#! /bin/sh
a=99
b=45
if [ $a -lt $b ]
then
echo "a is less than b"
else
echo "a is greater than b"
fi
Đầu ra:
a is greater than b
Cách sử dụng if..elif..else Tuyên bố
Giả sử bạn muốn thêm các điều kiện và so sánh khác để làm cho mã động. Trong trường hợp này, cú pháp sẽ như sau:
if [ condition ]
then
statement
elif [ condition ]
then
statement
else
do this by default
fi
Để tạo ra những so sánh có ý nghĩa, chúng ta có thể sử dụng AND -a và HOẶC -o cũng vậy.
Trong ví dụ này, chúng ta sẽ xác định loại hình tam giác bằng các điều kiện sau:
Scalene:Một hình tam giác có chiều dài mỗi cạnh khác nhau.Isosceles:Tam giác có 2 cạnh bằng nhau.Equilateral:Một tam giác có tất cả các cạnh bằng nhau.
read a
read b
read c
if [ $a == $b -a $b == $c -a $a == $c ]
then
echo EQUILATERAL
elif [ $a == $b -o $b == $c -o $a == $c ]
then
echo ISOSCELES
else
echo SCALENE
fi
Trong ví dụ trên, tập lệnh sẽ yêu cầu người dùng nhập ba cạnh của hình tam giác. Tiếp theo, nó sẽ so sánh các cạnh và quyết định loại hình tam giác.
3
4
5
SCALENE
Kết luận
Bạn có thể dễ dàng phân nhánh mã của mình dựa trên các điều kiện như if..else và làm cho mã năng động hơn. Trong hướng dẫn này, bạn đã học cú pháp của if...else cùng với một số ví dụ.
Tôi hy vọng bạn thấy hướng dẫn này hữu ích.
Điều bạn yêu thích nhất mà bạn học được từ hướng dẫn này là gì? Hãy cho tôi biết trên Twitter!
Bạn có thể đọc các bài viết khác của tôi tại đây.
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu