NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
25/09/2024
Lượt xem

Bash Array – Hướng dẫn khai báo một chuỗi mảng Array trong Bash

25/09/2024
24 phút đọc
Lượt xem

Đánh giá

Mảng (array) là một khái niệm cơ bản nhưng vô cùng quan trọng trong lập trình Bash. Việc nắm vững cách sử dụng mảng sẽ giúp bạn viết các script hiệu quả, linh hoạt và dễ bảo trì hơn. Trong bài viết này, Vietnix sẽ đồng hành cùng bạn khám phá thế giới mảng trong Bash, trang bị kiến thức từ A đến Z để bạn tự tin làm chủ Bash Array.

Mảng trong Bash là gì?

Mảng trong Bash là một danh sách các giá trị được lưu trữ dưới một biến duy nhất. Các giá trị trong mảng được gọi là phần tử, được quản lý và truy xuất thông qua chỉ mục.

Mảng trong Bash
Mảng trong Bash

Không giống như các ngôn ngữ lập trình như C hoặc C++, các mảng Bash hoạt động như một bộ nhớ một chiều cho các kiểu dữ liệu đa dạng. Ví dụ, một mảng trong Bash có thể sắp xếp dữ liệu số và chuỗi một cách đồng thời theo một cấu trúc có trật tự. Điểm mạnh của mảng trong Bash còn nằm ở khả năng tự động thay đổi kích thước và phân bổ bộ nhớ.

Không những là môi trường ứng dụng Array, Bash còn là môi trường hỗ trợ dòng lệnh (shell) trong việc thực hiện các tập lệnh (script) – chạy tập lệnh Bash. Ngoài ra, Bash còn đóng vai trò là một dòng lệnh hữu ích trên hệ điều hành Linux – lệnh Bash.

Bên cạnh đó, bạn có thể tìm hiểu thêm: Bash có phải là ngôn ngữ lập trình

5 ứng dụng của mảng trong Bash

Mảng trong Bash có thể được ứng dụng trong nhiều trường hợp, bao gồm:

  1. Lưu trữ dữ liệu: Mảng là công cụ hiệu quả để lưu trữ thông tin trong các script shell, cho phép thao tác dữ liệu một cách linh hoạt.
  2. Quản lý cấu hình: Mảng có thể được sử dụng để quản lý cấu hình hệ thống trong các script Bash.
  3. Xử lý file: Mảng cho phép truy cập và xử lý nội dung của các file một cách hiệu quả.
  4. Quản lý tiến trình và dịch vụ: Mảng có thể lưu trữ và quản lý thông tin về tên dịch vụ, ID tiến trình và các thông tin liên quan khác trong các script quản trị hệ thống.
  5. Kiểm tra và xác thực dữ liệu: Mảng Bash có thể được dùng để kiểm tra xem dữ liệu nhập vào có đúng hay không. Ví dụ, bạn có thể kiểm tra tính hợp lệ của giá trị do người dùng nhập vào bằng cách so sánh với các giá trị trong mảng.
5 ứng dụng của mảng trong Bash
5 ứng dụng của mảng trong Bash

Các loại mảng trong Bash

Có hai loại mảng chính trong Bash:

  • Mảng được lập chỉ mục (Numerically Indexed Array): Dạng mảng tham chiếu đến các phần tử dữ liệu bằng cách sử dụng chỉ số bắt đầu từ ‘0’. Vì vậy, nếu một mảng chứa hai phần tử, giá trị đầu tiên được đặt ở chỉ số 0 trong khi phần tử thứ hai (phần tử cuối cùng) ở chỉ số 1.
  • Mảng kết hợp (Associative Array): Mảng kết hợp sử dụng chuỗi làm chỉ mục để truy xuất các giá trị.

Dựa trên số chiều, mảng trong Bash có thể được phân loại thành:

  • Mảng một chiều (1-D Array): Đây là loại mảng phổ biến nhất, là một danh sách các giá trị, còn được gọi là mảng được lập chỉ số theo số. Loại mảng này được lập chỉ số bắt đầu từ 0 và các phần tử được truy cập thông qua các chỉ số.
  • Mảng đa chiều (Multidimensional Array): Bash không hỗ trợ trực tiếp mảng đa chiều như Python hay C++. Tuy nhiên, bạn có thể mô phỏng mảng đa chiều bằng cách tạo một mảng chứa các mảng con, trong đó các phần tử được sắp xếp theo dạng lưới hoặc ma trận.

Cách 1: Khai báo mảng trong Bash

Mặc dù Bash là ngôn ngữ script linh hoạt nhưng việc khai báo mảng là bước đầu tiên và quan trọng khi bạn muốn làm việc với mảng. Bạn có thể khai báo mảng trong Bash bằng cách sử dụng cú pháp sau với lệnh declare:

declare -a <array_name>

Giải thích:

  • declare: Lệnh Bash được sử dụng để thiết lập thuộc tính cho biến mảng.
  • -a: Tùy chọn cho biết bạn đang khai báo một mảng đánh chỉ số.
  • <array_name>: Tên bạn muốn đặt cho mảng.

Ví dụ dưới đây ta sẽ tạo một mảng có tên tennis_kit bằng cách sử dụng Bash Scripting như sau:

input 33
Bash Array - Hướng dẫn khai báo một chuỗi mảng Array trong Bash 79

Giải thích: 

  • #!/bin/bash: Dòng shebang cho biết hệ thống sử dụng trình thông dịch Bash để thực thi script.
  • declare -a tennis_kit: Khai báo một mảng có tên tennis_kit sử dụng lệnh declare và tùy chọn -a để chỉ định đây là mảng đánh chỉ số.
  • echo “index array declared”: Hiển thị thông báo nếu khai báo thành công và không có lỗi.
Khai báo mảng trong Bash
Khai báo mảng trong Bash

Cách 2: In mảng trong Bash

In mảng là thao tác phổ biến trong lập trình Bash, giúp kiểm tra kết quả và hiển thị dữ liệu. Có nhiều cách để in toàn bộ nội dung của một mảng trong Bash. Dưới đây là hai cách phổ biến bằng lệnh echo:

echo ${array[@]}

Hoặc

echo ${array[*]}

Giải thích:

  • echo: Lệnh in thông tin.
  • ${}: Dùng để lấy giá trị của danh sách.
  • arr_name: Tên của danh sách bạn muốn in.
  • [@]/[*]: Chỉ ra việc in toàn bộ danh sách.

Bạn có thể xem ví dụ chạy song song lệnh Bash bên dưới để hiểu rõ hơn:

Input
Input

Giải thích:

Trong đoạn code trên, chúng ta đã tạo một mảng có tên là “me” chứa 3 phần tử và hiển thị nội dung của mảng bằng biểu thức echo ${me[ ]}. Ở đây, [@] và [*] cho kết quả giống nhau và có thể sử dụng thay thế. Ngoài ra, bạn có thể thấy rằng nội dung của mảng được in ra trên cùng một dòng.

In mảng trong Bash
In mảng trong Bash

Ví dụ 1: Duyệt qua mảng trong Bash

Khi làm việc với mảng trong Bash, việc truy cập vào các phần tử của mảng là rất quan trọng. Bạn có thể sử dụng các phần tử để in ra hoặc thực hiện các thao tác khác trên mảng. Trong phần này, Vietnix sẽ hướng dẫn bạn cách truy cập các phần tử mảng bằng cách sử dụng chỉ số của chúng.

Như đã trình bày ở phần trước, chỉ số của mảng bắt đầu từ 0 và tăng dần lên 1. Ví dụ, để lấy giá trị của phần tử thứ hai trong mảng, bạn sử dụng đoạn code sau:

echo ${array_name[index_num]}

Giải thích:

  • echo: Lệnh in các phần tử của mảng ra màn hình.
  • ${}: Được sử dụng để lấy giá trị của một biến.
  • array_name: Tên của mảng bạn muốn truy cập.
  • [index_num]: Chỉ số của phần tử mảng bạn muốn truy cập.

Chẳng hạn: 

Input
Input

Giải thích:

  • Dòng 3: Khai báo và khởi tạo mảng products với 3 phần tử là tên các loại sản phẩm.
  • Dòng 5: Sử dụng chỉ số 0 để truy cập và in ra phần tử đầu tiên của mảng.
  • Dòng 7-8: Tương tự, sử dụng chỉ số 1 và 2 để truy cập và in ra phần tử thứ hai và phần tử cuối cùng.

Lệnh echo được sử dụng để hiển thị các phần tử ra màn hình.

Lấy giá trị của phần tử thứ hai trong mảng,
Lấy giá trị của phần tử thứ hai trong mảng,

Ví dụ 2: In các phần tử cụ thể của một mảng trong Bash

Ngoài việc in toàn bộ mảng, bạn cũng có thể in ra các phần tử cụ thể bằng cách sử dụng chỉ số. Bạn hãy xem ví dụ sau:

Input
Input

Giải thích:

  • Dòng 3: Khai báo và khởi tạo mảng currency với 8 phần tử là tên các loại tiền tệ.
  • Dòng 5: In ra tổng số phần tử của mảng bằng cách sử dụng ${#tên_mảng[@]}.
  • Dòng 6-8: Sử dụng echo và chỉ số tương ứng (1, 4, 7) để in ra phần tử thứ 2, thứ 5 và phần tử cuối cùng của mảng.
In ra các phần tử cụ thể bằng cách sử dụng chỉ số
In ra các phần tử cụ thể bằng cách sử dụng chỉ số

Trong hình trên, bạn có thể thấy kết quả đã in ra 3 phần tử cụ thể (phần tử thứ 2, thứ 5 và phần tử cuối cùng) từ mảng currency gồm 8 phần tử.

Ví dụ 3: Đo chiều dài của một mảng trong Bash

Mảng trong Bash khác với mảng trong Python ở chỗ mảng có thể thay đổi kích thước. Khi bạn thêm phần tử vào mảng, chiều dài sẽ tự động tăng lên. Để quản lý bộ nhớ hiệu quả, việc biết chiều dài hiện tại của mảng rất quan trọng.

Để tìm chiều dài của một mảng, bạn chỉ cần thêm dòng lệnh sau vào shell script của mình:

echo ${#arr_name[@]}

Giải thích:

  • arr_name là tên của mảng bạn muốn kiểm tra.
  • ${#arr_name[@]} sẽ trả về số lượng phần tử trong mảng.

Lưu ý: Để code dễ hiểu hơn, bạn có thể đặt độ dài của mảng vào một biến mới và in ra màn hình.

length= ${#arr_name[@]}

echo $length

Ví dụ:

Input
Input

Giải thích:

  • Dòng 3: Tạo mảng cards với 4 phần tử.
  • Dòng 5: Sử dụng biểu thức ${#hosting[@]} để lấy độ dài của mảng và gán giá trị đó cho biến len.
  • Dòng 7: In độ dài của mảng ra màn hình bằng cách thực hiện lệnh echo theo sau là biến len có tiền tố là dấu $.

Lưu ý: Biểu thức ${#cards[*]} cũng trả về độ dài của mảng.

Đo chiều dài của một mảng trong Bash
Đo chiều dài của một mảng trong Bash

Script Bash trên đã hiển thị thành công độ dài của mảng hosting ra màn hình.

Ví dụ 4: Lặp qua các phần tử mảng trong Bash

Để truy cập và in các phần tử của mảng Bash, cách thường dùng nhất là sử dụng chỉ số. Bạn cũng có thể sử dụng vòng lặp for để truy cập các phần tử mảng bằng cú pháp sau:

for items in ${arr_name[@]}

    do

        echo $items

done

Giải thích:

  • for: Từ khóa để sử dụng vòng lặp for để lặp qua các phần tử mảng.
  • items: Ví dụ về một biến được người dùng định nghĩa, chứa phần tử mảng hiện tại.
  • in: Chỉ ra tập hợp các giá trị mảng để lặp qua.
  • ${arr_name}: Mở rộng mảng để lấy giá trị của các phần tử.
  • [@]: Chỉ ra rằng bạn muốn lặp qua các phần tử của mảng.

Ví dụ:

Input
Input

Giải thích:

  • VPS=(basic NVMe premium cheap GPU): Khai báo và gán giá trị cho mảng VPS.
  • for elems in ${VPS[@]}: Sử dụng vòng lặp for để lặp qua từng phần tử trong mảng VPS. Biến elems sẽ chứa giá trị của phần tử hiện tại trong mỗi lần lặp.
  • echo $elems: In ra giá trị của phần tử hiện tại (elems) lên màn hình.
  • [@]: Chỉ định rằng bạn muốn lặp qua tất cả các phần tử của mảng fruits.
Sử dụng vòng lặp for để in ra các giá trị của mảng fruits
Sử dụng vòng lặp for để in ra các giá trị của mảng fruits

Chương trình này sử dụng vòng lặp for để in ra các giá trị của mảng VPS một cách tuần tự.

Ví dụ 5: Xóa mảng trong Bash

Nếu bạn muốn xóa toàn bộ một mảng sau khi hoàn thành các tác vụ cần thiết, bạn sử dụng lệnh unset. Tuy nhiên, cú pháp sử dụng unset để xóa mảng khác (hủy cài đặt với một biến trong môi trường Linux) so với xóa từng phần tử.

Trong trường hợp này, bạn không chỉ định chỉ số phần tử như khi xóa từng phần tử.

Ví dụ:

Input
Input

Giải thích:

  • Script tạo một mảng language với 4 phần tử.
  • Sử dụng lệnh unset language để xóa toàn bộ mảng.
  • Sau khi xóa, việc in các phần tử (echo ${language[@]}) và chỉ số (echo ${!language[@]}) của mảng sẽ không trả về kết quả nào trên màn hình terminal, cho dù bạn chạy script delete.sh.

Sau khi chạy đoạn script trên, máy tính sẽ không hiển thị gì trên màn hình cả. Điều này chứng tỏ mảng language đã bị xóa thành công.

Xóa toàn bộ một mảng sau khi hoàn thành các tác vụ cần thiết
Xóa toàn bộ một mảng sau khi hoàn thành các tác vụ cần thiết

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

Để thêm phần tử vào mảng trong Bash, bạn sử dụng toán tử += với cú pháp như sau:

array_name+=(element to be appended)

Giải thích: 

  • array_name: Tên của mảng bạn muốn thêm phần tử.
  • +=: Toán tử thêm phần tử vào cuối mảng.
  • element to be appended: Phần tử mới bạn muốn thêm vào mảng.

Ví dụ:

input 16
Input

Giải thích: Đoạn code đầu tiên tạo một danh sách các hệ điều hành Linux gọi là distros, danh sách này có 3 hệ điều hành. Sau đó sẽ thêm hệ điều hành Red Hat vào danh sách này và kết quả là mảng distros giờ có 4 phần tử như bạn thấy ở dưới hình minh họa.

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

Chèn phần tử vào mảng trong Bash

Để chèn phần tử vào một vị trí cụ thể trong mảng, bạn sử dụng cú pháp sau:

array_name[position]= element to be inserted

Ví dụ:

input 17
Input

Giải thích: Đầu tiên, đoạn code trên tạo một danh sách có tên là fruits chứa 3 phần tử. Sau đó, thêm 2 phần tử mới vào danh sách ở vị trí thứ 5 và 11. Cuối cùng, đoạn code sẽ in ra tất cả các phần tử trong danh sách cùng với vị trí của chúng.

Kết quả: Mảng bd_bands sẽ có các phần tử được chèn vào vị trí mong muốn. Các chỉ số được in ra sẽ cho thấy vị trí của các phần tử trong mảng.

Chèn phần tử vào mảng trong Bash
Chèn phần tử vào mảng trong Bash

Cập nhật phần tử mảng trong Bash

Để cập nhật giá trị của một phần tử trong mảng, bạn sử dụng cú pháp sau:

example_array[index]=updated element

Giải thích: 

  • array_name: Tên của mảng.
  • index: Chỉ số của phần tử muốn cập nhật.
  • updated element: Giá trị mới muốn gán cho phần tử đó.

Ví dụ: 

Input
Input

Giải thích: Đầu tiên, đoạn code trên sẽ tạo một mảng gồm ba giá trị. Sau đó, ở dòng 7 sẽ thay thế giá trị thứ ba (chỉ số 2) của mảng từ “Basic” thành “Standard” bằng cách sử dụng cách gán chỉ số. Cuối cùng là in ra các thay đổi bằng lệnh echo.

Kết quả: Mảng topGun sẽ có phần tử thứ 3 được cập nhật thành giá trị mới.

Cập nhật phần tử mảng trong Bash
Cập nhật phần tử mảng trong Bash

Xóa phần tử khỏi mảng trong Bash

Để xóa một phần tử trong mảng, bạn sử dụng lệnh unset với cú pháp như sau:

unset example_array[index]

Giải thích: 

  • unset: Lệnh xóa phần tử mảng.
  • example_array: Tên của mảng.
  • [index]: Chỉ số của phần tử muốn xóa.

Ví dụ:

Input
Input

Giải thích: Trong đoạn code ở trên đã tạo một danh sách các thương hiệu (brands) gồm 3 thương hiệu. Sau đó sử dụng một lệnh đặc biệt để xóa thương hiệu thứ ba là Nike khỏi danh sách.

Kết quả: Mảng brands sẽ không còn chứa phần tử nike.

Xóa phần tử khỏi mảng trong Bash
Xóa phần tử khỏi mảng trong Bash

Cắt mảng trong Bash

Khi bạn có một mảng dài trong Bash và muốn truy cập vào một số phần tử nhất định, bạn có thể sử dụng kỹ thuật Array Slicing (cắt mảng). Cú pháp thực hiện như sau:

${array_name[@]:X:Y}

Giải thích: 

  • array_name: Tên của mảng.
  • X: Chỉ số bắt đầu của phần cắt.
  • Y: Số lượng phần tử muốn cắt.

Ví dụ:

Input
Input

Giải thích: Đoạn code ở trên đã tạo ra một mảng tên là “products” chứa 7 phần tử. Sau đó định nghĩa một biểu thức cắt chuỗi và gán nó cho một biến tên là “sliced“. Sử dụng công thức này, script lấy 3 phần tử (ssl firewall domain) bắt đầu từ vị trí thứ 3 trong mảng. Cuối cùng, lệnh “echo” in kết quả ra là mảng sliced sẽ chứa 3 phần tử: ssl, firewall  domain.

Cắt mảng trong Bash
Cắt mảng trong Bash

Gộp 2 mảng trong Bash

Để gộp 2 mảng thành 1 mảng mới, bạn sử dụng toán tử mở rộng mảng ${array[@]} với cú pháp như sau:

merged_array=(${array1[@]} ${array2[@]})

Ví dụ: 

Input
Input

Giải thích: Đoạn code trên kết hợp hai danh sách số là a và b thành một danh sách duy nhất. Bằng cách sử dụng một phương pháp đặc biệt gọi là “toán tử mở rộng ${array[@]}” để thực hiện việc này. Cuối cùng, đoạn code sẽ kiểm tra xem danh sách mới có chứa tất cả các số từ hai danh sách ban đầu không.

Kết quả: Mảng merged_array sẽ chứa tất cả các phần tử của 2 mảng ban đầu.

Gộp 2 mảng trong Bash
Gộp 2 mảng trong Bash

Lưu ý:

Bạn phải sử dụng dấu cách giữa 2 mảng để phân tách các phần tử của 2 mảng khi gộp. Nếu không có dấu cách, các phần tử sẽ bị nối liền nhau và khó đọc.

Ví dụ: 

Sử dụng dấu cách giữa 2 mảng để phân tách các phần tử của 2 mảng khi gộp
Sử dụng dấu cách giữa 2 mảng để phân tách các phần tử của 2 mảng khi gộp

Kết quả: 

Kết quả sử dụng dấu cách giữa 2 mảng
Kết quả sử dụng dấu cách giữa 2 mảng

Ví dụ 1: Đọc nội dung file vào mảng trong Bash

Để đọc nội dung của 1 file vào mảng, bạn sử dụng script Bash sau:

input 22
Bash Array - Hướng dẫn khai báo một chuỗi mảng Array trong Bash 80

Giải thích: Script bash này đầu tiên lấy tên file từ người dùng nhập vào và lưu nội dung trong biến của file được định nghĩa sau lệnh read ở dòng thứ 3 (read file). Sau đó, script truy cập nội dung bằng lệnh cat và lưu chúng dưới dạng phần tử mảng trong mảng có tên là array_of_file, và in các phần tử bằng biểu thức $array_of_file[@].

Kết quả: Mảng array_of_file sẽ chứa các dòng của file đã đọc.

Đọc nội dung file vào mảng trong Bash
Đọc nội dung file vào mảng trong Bash

Ví dụ 2: Sắp xếp mảng trong Bash với thuật toán Bubble Sort (sắp xếp nổi bọt)

Sắp xếp là một thao tác quan trọng trong lập trình, giúp cho việc truy xuất và phân tích dữ liệu trở nên hiệu quả hơn. Trong ví dụ này, Vietnix sẽ giới thiệu đến bạn cách triển khai thuật toán Bubble Sort (sắp xếp nổi bọt) trên mảng trong Bash.

Bubble Sort  là thuật toán sắp xếp dễ hiểu nhất, hoạt động dựa trên việc so sánh các phần tử liền kề. Nếu hai phần tử liền kề không theo thứ tự mong muốn (tăng dần hoặc giảm dần), cả hai phần tử sẽ được hoán đổi vị trí. Quá trình này được lặp lại cho đến khi toàn bộ mảng được sắp xếp theo đúng thứ tự.

Để sắp xếp mảng Bash bằng Bubble Sort, bạn sử dụng script Bash sau:

Input
Input

Giải thích: Đầu tiên, chương trình lấy một dãy số chưa được sắp xếp và lặp qua từng phần tử trong dãy. Trong mỗi lần lặp, phần tử hiện tại ${numbers[j]} được so sánh với phần tử tiếp theo ${numbers[$((j+1))]} và đổi chỗ nếu phần tử trước lớn hơn phần tử sau. Chương trình lặp lại quá trình này cho đến khi tất cả các phần tử được sắp xếp đúng thứ tự. Cuối cùng, lệnh echo hiển thị dãy số đã được sắp xếp ra màn hình.

Kết quả: Script trên đã sắp xếp mảng numbers theo thứ tự tăng dần.

Sắp xếp mảng trong Bash với thuật toán Bubble Sort
Sắp xếp mảng trong Bash với thuật toán Bubble Sort

Ví dụ 3: Tìm kiếm tuyến tính (Linear Search) trong mảng Bash

Tìm kiếm tuyến tính là một thuật toán tìm kiếm đơn giản trong mảng. Thuật toán này hoạt động bằng cách lặp qua từng phần tử của mảng và kiểm tra xem phần tử đó có khớp với giá trị cần tìm hay không.

Để tìm kiếm một phần tử cụ thể trong mảng Bash bằng tìm kiếm tuyến tính, sử dụng script Bash sau:

Input
Input

Giải thích: Đoạn script này đầu tiên nhận một mảng dữ liệu và một phần tử để tìm kiếm do người dùng nhập vào. Sau đó, lặp qua toàn bộ mảng. Trong quá trình này, script sẽ kiểm tra xem phần tử hiện tại array[$i] có khớp với mục mà người dùng nhập hay không. Bên cạnh đó, một biến flag (khởi tạo bằng 0) được dùng để theo dõi xem phần tử đó có nằm trong mảng hay không (0 là không tìm thấy; 1 là tìm thấy). Nếu phần tử có trong mảng, lệnh echo sẽ in ra vị trí của nó, flag được đặt thành 1 và lệnh break sẽ ngay lập tức dừng các vòng lặp tiếp theo.

Kết quả: Script này sẽ tìm kiếm giá trị được nhập bởi người dùng trong mảng. Nếu tìm thấy sẽ in ra vị trí của giá trị đó. Nếu không tìm thấy sẽ thông báo rằng giá trị đó không có trong mảng.

Tìm kiếm giá trị được nhập bởi người dùng trong mảng
Tìm kiếm giá trị được nhập bởi người dùng trong mảng

Ví dụ 4: Mô phỏng mảng đa chiều trong Bash

Bash chủ yếu hỗ trợ mảng một chiều và không có kiểu dữ liệu mảng đa chiều. Tuy nhiên, bạn có thể mô phỏng mảng đa chiều bằng cách sử dụng vòng lặp for trong Bash.

Ví dụ:

Input
Input

Giải thích: Script trên đã khai báo một mảng rỗng và đặt tên là matrices. Sau đó sử dụng lệnh read để lấy đầu vào của người dùng về kích thước của mảng. Tiếp theo Scirpt sử dụng hai vòng lặp for để nhập các phần tử của ma trận. Vòng lặp đầu tiên lặp qua từng hàng và vòng lặp thứ hai lặp qua từng cột. Script cũng gán các số ngẫu nhiên tại mỗi vị trí trong ma trận bằng cách sử dụng $RANDOM. Cuối cùng, sử dụng vòng lặp for để in ma trận ra màn hình để hiển thị.

Kết quả: Script sẽ in ra một mảng đa chiều với số hàng và số cột do người dùng nhập vào, mỗi phần tử của mảng sẽ chứa một số ngẫu nhiên. Đoạn script bash ở trên in ra một mảng đa chiều có 2 hàng và 3 cột .

Mô phỏng mảng đa chiều trong Bash
Mô phỏng mảng đa chiều trong Bash

Câu hỏi thường gặp

Mảng trong Bash có thể chứa các loại dữ liệu khác nhau không?

Hoàn toàn có thể. Mảng trong Bash có một đặc điểm rất linh hoạt, đó là không yêu cầu khai báo kiểu dữ liệu cho các phần tử.

Có thể thay đổi giá trị của các phần tử trong một mảng sau khi tạo không?

Có thể. Bạn có thể thay đổi bằng cách truy cập vào phần tử và gán giá trị mới.

Lời kết

Bài viết đã cung cấp cho bạn một cái nhìn tổng quan về mảng trong Bash, bao gồm cách tạo, truy cập, thao tác và ứng dụng của mảng trong các kịch bản Bash. Hy vọng những kiến thức này sẽ giúp bạn sử dụng mảng một cách hiệu quả trong công việc của mình.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG