Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Mảng Bash với các ví dụ

Mảng là một tập hợp các phần tử. Trong Bash, một mảng có thể chứa hỗn hợp các phần tử thuộc các loại khác nhau, ví dụ:Chuỗi và số.

Trong hướng dẫn này, chúng tôi thảo luận về cách tạo và sử dụng mảng trong Bash. Chúng tôi cũng sẽ đề cập đến các hoạt động của mảng như lặp, in, lấy kích thước và sửa đổi nội dung.

Cách tạo Mảng trong Bash

Có hai cách chúng ta có thể tạo mảng Bash:

Sử dụng từ khóa khai báo

declare -a my_bash_array

điều này sẽ tạo một mảng được lập chỉ mục với tên “my_bash_array”.

Khởi tạo Mảng

Chúng tôi cũng có thể tạo và khởi tạo mảng nhanh chóng bằng cách sử dụng toán tử gán = và các phần tử bên trong dấu ngoặc nhọn () :

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

Hoặc, chúng tôi cũng có thể chỉ định chỉ mục một cách rõ ràng

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 ở hai bên của = nhà điều hành.

Độ dài Mảng Bash

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

Ví dụ:

my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"

#Output
the array contains 3 elements

Vòng lặp mảng Bash

Để lặp qua tất cả các phần tử trong mảng Bash, chúng ta có thể sử dụng vòng lặp for:

#!/bin/bash

my_array=(foo bar baz)

# for loop that iterates over each element
for i in "${my_array[@]}"
do
    echo $i
done

Đầu ra:

foo
bar
baz

Để in tất cả các phần tử của một mảng mà không có vòng lặp, chúng ta có thể sử dụng cú pháp sau:

echo ${my_array[@]}

Thêm phần tử vào mảng

Để thêm các phần tử vào một mảng, chúng tôi sử dụng += nhà điều hành. Thao tác này sẽ nối một 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 chúng ta có thể sử dụng chỉ mục để thêm một phần tử:

my_array=(foo bar)
my_array[2]=baz

echo "${my_array[@]}"
foo bar baz

Xóa các phần tử khỏi Mảng

Để xóa một phần tử khỏi mảng Bash, chúng tôi sử dụng unset lệnh.

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 tôi đã đề cập đến các mảng Bash; cách tạo và khởi tạo mảng trong Bash và cách lấy độ dài, lặp qua các phần tử, in các phần tử và sửa đổi nội dung của một mảng.