Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Làm chủ Mảng Bash: Khai báo và Sử dụng Mảng Chuỗi trong Script

Bash script cung cấp cách tiện lợi tự động hóa tác vụ dòng lệnh.

Với Bash, bạn có thể làm nhiều điều tương tự như ngôn ngữ script hoặc lập trình khác. Bạn có thể tạo và dùng biến, thực thi vòng lặp, dùng logic điều kiện, và lưu trữ dữ liệu trong mảng.

Mặc dù chức năng có thể quen thuộc, nhưng cú pháp Bash có thể棘手. Trong bài này, bạn sẽ học cách khai báo mảng và sử dụng chúng trong code.

Cách khai báo mảng trong Bash

Khai báo mảng trong Bash dễ dàng, nhưng hãy chú ý cú pháp. Nếu bạn quen lập trình ngôn ngữ khác, code có thể trông giống, nhưng có sự khác biệt tinh tế dễ bỏ lỡ.

Để khai báo mảng, làm theo các bước:

  1. Đặt tên cho mảng
  2. Sau tên biến thêm dấu bằng. Dấu bằng không được có khoảng trống hai bên
  3. Bao mảng trong dấu ngoặc đơn (không phải ngoặc vuông như JavaScript)
  4. Nhập chuỗi dùng dấu ngoặc kép, nhưng không có dấu phẩy giữa chúng

Khai báo mảng sẽ trông như sau:

myArray=("cat" "dog" "mouse" "frog")

Đó là tất cả! Rất đơn giản.

Cách truy cập mảng trong Bash

Có vài cách khác nhau để lặp qua mảng. Bạn có thể lặp qua các phần tử, hoặc lặp qua chỉ số (indices).

Cách lặp qua các phần tử mảng

Để lặp qua phần tử mảng, code sẽ trông như sau:

for str in ${myArray[@]}; do
  echo $str
done

Phân tích: này giống như dùng forEach trong JavaScript. Với mỗi chuỗi (str) trong mảng (myArray), in chuỗi đó ra.

Output của vòng lặp:

cat
dog
mouse
frog

Lưu ý: Ký hiệu @ trong ngoặc vuông chỉ ra bạn lặp qua tất cả phần tử trong mảng. Nếu bỏ qua và chỉ viết for str in ${myArray}, chỉ phần tử đầu tiên được in.

Cách lặp qua chỉ số mảng

Thay vào đó, bạn có thể lặp qua chỉ số của mảng. Này giống vòng lặp for trong JavaScript, hữu ích khi muốn truy cập chỉ số của từng phần tử.

Để dùng phương pháp này, code trông như sau:

for i in ${!myArray[@]}; do
  echo "element $i is ${myArray[$i]}"
done

Output sẽ như sau:

element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog

Lưu ý: Dấu chấm than ở đầu biến myArray chỉ ra bạn truy cập chỉ số của mảng, không phải phần tử. Điều này có thể gây nhầm lẫn nếu bạn quen dấu chấm than chỉ phủ định, nên chú ý kỹ.

Lưu ý khác: Bash thường không yêu cầu ngoặc nhọn cho biến, nhưng bắt buộc với mảng. Bạn sẽ thấy khi tham chiếu mảng, cú pháp là ${myArray}, nhưng khi tham chiếu chuỗi hoặc số, chỉ dùng dấu dollar: $i.

Kết luận

Bash script hữu ích cho hành vi dòng lệnh tự động, và mảng là công cụ tuyệt vời lưu trữ nhiều dữ liệu.

Khai báo và dùng chúng không khó, nhưng khác ngôn ngữ khác, nên chú ý kỹ để tránh lỗi.