Trong phần trước, chúng ta đã tìm hiểu được các loại biến và cách khai báo chúng. Chúng ta cũng đã chạy được shell script đầu tiên.
Cũng giống như các ngôn ngữ lập trình khác, shell cũng có function, if , loop, ….Ở phần này, chúng ta hãy cùng tìm hiểu về nó nhé
1. Conditionals
1.1 If-Else
Một câu lệnh if/else cơ bản sẽ có cấu trúc như sau:
if condition; then #Code to execute if condition is true; else # Code to execute if condition is true
Ví dụ:
if mkdir "NCC"; then echo "created NCC"; else echo "come on use another name"; fi
Chạy lệnh trên hai lần, lần đầu bạn sẽ thấy “created NCC” và kiểm tra bằng lệnh ls xem nó đã tạo thư mục chưa. Khi bạn chạy lại lệnh tương tự, nó sẽ hiển thị:
Nếu bạn muốn sử dụng else if chỉ cần thêm elif
. Nhưng nếu chúng ta muốn thực hiện kiểm tra các điều kiện thì sao?
if [ condition ]; then
# Code to execute if condition is true
else
# Code to execute if condition is false
fi
Ví dụ:
1.2 Cases
Câu lệnh case hiệu quả hơn việc sử dụng nhiều câu lệnh Elif. Cú pháp cơ bản là:
case $variable in
pattern1)
# Code to execute for pattern1
;;
pattern2)
# Code to execute for pattern2
;;
pattern3)
# Code to execute for pattern3
;;
*)
# Code to execute if none of the patterns match
;;
esac
Bắt đầu bằng case và kết thúc bằng esac, nhớ rằng mỗi khi kết thúc block có dấu ;;
*) là wildcard pattern sẽ match với tất cả các case mà không match với case nào trước đó. Trong ví dụ này, nếu biến fruit=”watermelon”, nó sẽ match vào case *) và in ra màn hình “It’s something else.”
2. Looping Through Life
Trong shell script các vòng lặp for, while và until được sử dụng để thực thi mã lặp lại. Dưới đây là tổng quan về từng loại cùng với các ví dụ:
1️⃣ Vòng lặp For: được sử dụng để lặp qua một chuỗi các giá trị, chẳng hạn như số hoặc phần tử trong một mảng.
#!/bin/bash
for ((i=0;i<5;i++))
do
echo $i
done
2️⃣ Vòng lặp while: dùng để thực thi một block code là miễn là điều kiện đã chỉ định là đúng
#!/bin/bash
i=10
while [i -gt 0]
do
echo $i
((i--))
done
3️⃣ Until loop: Vòng lặp do-while hoặc vòng lặp until tương tự như vòng lặp while, nhưng nó đảm bảo rằng khối mã được thực thi ít nhất một lần trước khi kiểm tra điều kiện.
#!/bin/bash
i=1
until ((i==0))
do
echo $i
i = i-1
done
Các vòng lặp này mang lại sự linh hoạt cho các tác vụ lặp đi lặp lại trong tập lệnh shell và việc lựa chọn giữa chúng phụ thuộc vào yêu cầu cụ thể của tập lệnh. Nếu bạn để ý, cả ba vòng lặp for, while và Until đều có các từ khóa done và done.
Khi bắt đầu vòng lặp, chúng ta đề cập đến do và khi lặp xong, chúng ta kết thúc bằng done. Tôi chắc chắn rằng cho đến nay, bạn đã sử dụng nhiều vòng lặp và sẽ hơi chabs nếu giải thích từng vòng lặp và giải thích thêm. Vì vậy, hãy đi sâu vào Fucntions.
3. Functions
Trong Shell script, function dùng để nhóm một tập hợp lệnh thành một đơn vị duy nhất có thể được sử dụng lại và gọi bằng một tên cụ thể. Cú pháp khia báo một hàm trong Shell khá giống với trong JavaScript
functionName() {
# Code to be executed
# ...
# Optionally, return a value
return value
}
Ví dụ:
4. Tổng kết
Ở phần này chúng ta đã tìm hiểu về những hàm cơ bản để có thể lập trình tự động hóa bằng Shell. Tuy vậy, đó chỉ là những thứ cơ bản, còn rất nhiều thứ nâng cao trong shell script đang chờ bạn khám phá.
Nguồn tài liệu tham khảo:
Các phần liên quan: