Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách viết câu lệnh IF trong Bash-Script

Với nếu statement, là một loại câu lệnh điều kiện, bạn có thể thực hiện các hành động khác nhau tùy thuộc vào các điều kiện cụ thể. Nó cung cấp cho hệ thống khả năng đưa ra quyết định một cách hiệu quả.

Cách viết câu lệnh IF trong Bash-Script

Dưới đây là ví dụ về dạng đơn giản nhất của if tuyên bố:

count=5
if [ $count == 5 ]
then
echo "$count"
fi

Trong ví dụ này, biến count chỉ định một điều kiện được sử dụng như một phần của if tuyên bố. Trước nếu câu lệnh được thực thi, biến count được gán giá trị 5 . if sau đó kiểm tra xem giá trị của count 5 . Nếu đúng như vậy, câu lệnh giữa các từ khóa then fi được thực thi. Nếu không, bất kỳ câu lệnh nào sau if câu lệnh được thực thi.

Từ khóa fi nếu đánh vần ngược. Ngôn ngữ kịch bản bash sử dụng quy ước này để đánh dấu phần cuối của một biểu thức phức tạp, chẳng hạn như if tuyên bố hoặc trường hợp tuyên bố.

Tiếng vọng câu lệnh in đối số của nó, trong trường hợp này là giá trị của biến count , vào cửa sổ đầu cuối. Thụt lề của mã giữa các từ khóa của if tuyên bố cải thiện khả năng đọc nhưng không cần thiết.

Cách viết câu lệnh IF trong Bash-Script

Nếu bạn gặp trường hợp đoạn mã chỉ nên được thực thi nếu điều kiện không đúng, hãy sử dụng từ khóa else trong nếu , như trong ví dụ này:

count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi

Nếu điều kiện $ count ==5 là true, hệ thống sẽ in giá trị của biến count . Nếu không, nó in chuỗi số đếm không phải là 5 .

Cách viết câu lệnh IF trong Bash-Script

Nếu bạn muốn phân biệt giữa nhiều điều kiện, hãy sử dụng từ khóa elif , có nguồn gốc từ else if , như trong ví dụ này:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
else
echo "none of the above"
fi

Nếu tính 5 , hệ thống in số lượng là năm . Nếu tính không phải là 5 nhưng 6 , hệ thống in số lượng là sáu . Nếu không phải là 5 cũng không phải 6 , hệ thống sẽ in không có điều nào ở trên .

Bạn có thể có bất kỳ số elif nào điều khoản. Ví dụ về nhiều elif điều kiện là:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
elif [ $count == 7 ]
then
echo "count is seven"
elif [ $count == 8 ]
then
echo "count is eight"
elif [ $count == 9 ]
then
echo "count is nine"
else
echo "none of the above"
fi
Cách viết câu lệnh IF trong Bash-Script

Một cách nhỏ gọn hơn để viết các câu lệnh như vậy với nhiều điều kiện là phương pháp trường hợp. Nó hoạt động tương tự như if câu lệnh có nhiều elif mệnh đề nhưng ngắn gọn hơn. Ví dụ:đoạn mã trên có thể được viết lại bằng case tuyên bố như sau:

case "$count" in
5)
echo "count is five"
;;
6)
echo "count is six"
;;
7)
echo "count is seven"
;;
8)
echo "count is eight"
;;
9)
echo "count is nine"
;;
*)
echo "none of the above"
esac
Cách viết câu lệnh IF trong Bash-Script

nếu các câu lệnh thường được sử dụng bên trong vòng lặp for hoặc vòng lặp while, như trong ví dụ sau:

count=1
done=0
while [ $count -le 9 ]
do
sleep 1
(( count++ ))
if [ $count == 5 ]
then
continue
fi
echo "$count"
done
echo Finished

You can also have nested if statements. The simplest nested if statement is of the form: if...then...else...if...then...fi...fi. However, an if statement can be nested with arbitrary complexity.

See also how to pass arguments to a bash script, which shows how to use conditionals to process parameters passed from the command line.

The bash shell provides other programming constructs, such as for-loops, while-loops, and arithmetic expressions.