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

Mảng trong Bash: Tạo, Thao tác và Các Phép Toán Phổ Biến

Mảng là tập hợp các phần tử. Trong Bash, một mảng có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau, ví dụ: chuỗi (string) và số (number).

Cách Tạo Mảng trong Bash

Có hai cách để tạo mảng Bash:

Sử dụng từ khóa declare

declare -a my_bash_array

Lệnh này sẽ tạo một mảng chỉ mục (indexed array) tên là "my_bash_array".

Khởi tạo Mảng

Chúng ta cũng có thể tạo và khởi tạo mảng ngay lập tức bằng toán tử gán = và các phần tử bên trong cặp ngoặc đơn ():

my_bash_array=("apple" "orange" "banana")

Hoặc có thể chỉ định chỉ mục (index) một cách tường minh:

my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"

Lưu ý: Không được có khoảng trắng ở cả hai bên của toán tử =.

Độ Dài Mảng Bash

Để lấy độ dài (kích thước) của một mảng, ta sử dụng cú pháp ${#array_name[@]}.

Ví dụ:

my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
# Kết quả: the array contains 3 elements

Vòng Lặp Mảng Bash

Để duyệt qua tất cả các phần tử trong mảng Bash, ta dùng vòng lặp for:

#!/bin/bash
my_array=(foo bar baz)
# Vòng lặp duyệt qua từng phần tử
for i in "${my_array[@]}"
do
  echo $i
done

Kết quả:

foo
bar
baz

In Tất Cả Phần Tử

Để in toàn bộ phần tử của mảng mà không cần vòng lặp, ta dùng cú pháp sau:

echo ${my_array[@]}

Thêm Phần Tử Vào Mảng

Để thêm phần tử vào mảng, ta dùng toán tử +=. Toán tử này sẽ nối phần tử vào cuối mảng.

Ví dụ:

my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
# foo bar baz

Hoặc dùng chỉ mục để thêm phần tử:

my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
# foo bar baz

Xóa Phần Tử Khỏi Mảng

Để xóa một phần tử khỏi mảng Bash, ta dùng lệnh unset.

Ví dụ:

my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
# foo baz

Kết Luận

Trong hướng dẫn này, chúng ta đã tìm hiểu về mảng Bash: cách tạo và khởi tạo mảng, cách lấy độ dài, duyệt qua các phần tử, in phần tử và sửa đổi nội dung mảng.