Arrays in Bash

Submitted by tinhxleev2 on Tue, 10/26/2021 - 07:41

Để báo một array ở bash thì sử dụng 

declare -a ten_array (một array trống)

Hoặc báo luôn

ten_array=(2 3 4)

Lưu ý không có dấu phảy giữa các số 2, 3, 4 trong array.

Một số tính chất cơ bản của array trong bash, như ví dụ ở dưới đây, sẽ trả lại toàn bộ các elements của array.

echo ${ten_array[@]}

Số các elements trong array thì sử dụng

echo ${#ten_array[@]}

Để lấy element nào đó trong array ví dụ element thứ 2

echo ${ten_array[1]}

Cho kết quả là 3, tương tự trong python thì array sử dụng index bắt đầu từ 0.

Để thay thế giá trị của một element trong array sử dụng 

ten_array[1]=15

echo ${ten_array[1]}

Cho giá trị là 15

Cắt/xén

Cắt/xén một array sử dụng syntax

ten_array[@]:N:M

N: là điểm bắt đầu cắt

M là số element trả lại 

echo ${ten_array[@]:0:2} cho kết quả 2 3

Appending

array+=(elements)

ten_array+=(10)

echo ${ten_array[@]}

Có một kiểu array thứ 2 ở bash đó là associate array, giống như array thông thường ở bash nhưng có cặp key (tên) và value (giá trị).

Sử dụng 

declare -A ten_associate_array # Khai báo trước

ten_associate_array=([ten]="Tinh" [ho]="Le") # Thêm elements

echo ${ten_associate_array[ten]} # trả kết quả là Tinh

Làm chung thành một bước 

declare -A ten_associate_array=([ten]="Tinh" [ho]="Le") # Thêm elements

Associate array có thêm một tính chất đó là, thêm đấu chấm cảm sẽ trả lại tất cả các key của array. 

echo ${!ten_associate_array[@]}

 

Learing