Unix/Linux Shell Script - Using Arrays

AZDIGI ĐANG GIẢM GIÁ 45% VPS VÀ HOSTING, TRANH THỦ MUA NHÉ BẠN.

Trong bài này chúng ta sẽ tìm hiểu về mảng và xử lý mảng trong shell script, đây là loại dữ liệu rất quan trọng trong lập trình bởi sự tiện dụng của nó trong việc lưu trữ dữ liệu. Về bản chất thì nó cũng tương tự các ngôn ngữ khác, chỉ khác ở trình bày cú pháp.

Bạn có thể lưu trữ nhiều loại dữ liệu khác nhau trong mảng, mỗi phần tử sẽ là một giá trị và một kiểu dữ liệu, thay vì tạo nhiều biến thì bạn chỉ cần tạo một biến và việc này giúp bạn dễ dạng quản lý biến hơn.

Trước tiên ta cần tìm hiểu về cú pháp khai báo biến đã nhé.

1. Khai báo array trong shell script

Không giống như C++ là phải khai báo tổng số phần tử mà bạn chỉ cần bổ sung phần tử trong quá trình chạy chương trình. Ví dụ dưới đây là mình khai báo mảng chứa thông tin của cá nhân mình.

DOMAIN[0]="freetuts.net"
DOMAIN[1]="Nguyen Van Cuong"
DOMAIN[2]="thehalfheart@gmail.com"
DOMAIN[3]="0979306603"

Cú pháp khai báo không khác gì các ngôn ngữ khác phải không các bạn.

Cú pháp
variable[index]=value

Tạo giá trị lúc khởi tạo biến

Nếu bạn muốn khởi tạo các giá trị cho biến lúc khai báo thì làm như sau:

Đối với ksh shell:

set -A array_name value1 value2 ... valuen

Đối với bash shell:

array_name = (value1 ... valuen)

Nhìn vào hai cú pháp trên thì chắc chắn bạn sẽ muốn viết theo cách của bash shell hơn phải không nào ;) Mình sẽ viết series học shell base ở một series khác.

2. Xử lý giá trị của các phần tử trong mảng

Sau khi bạn tạo biến và khai báo các phần tử xong thì đôi lúc cần lấy các thông tin đó ra để sử dụng, lúc này bạn sẽ thực hiện với cú pháp sau:

echo ${variable[index]}

Với ví dụ ở phần trên thì mình sẽ lấy như sau:

#!/bin/sh

DOMAIN[0]="freetuts.net"
DOMAIN[1]="Nguyen Van Cuong"
DOMAIN[2]="thehalfheart@gmail.com"
DOMAIN[3]="0979306603"

echo "Domain ${DOMAIN[0]}"
echo "Author ${DOMAIN[1]}"
echo "Mail ${DOMAIN[2]}"
echo "Phone ${DOMAIN[3]}"

Bạn hãy lưu đoạn code này trong file array.sh, sau đó chạy lênh sau và xem kết quả:

sh array.sh
Domain freetuts.net
Author Nguyen van Cuong
Mail thehalfheart@gmail.com
Phone 0979306603

3. Lời kết

Mảng là kiểu dữ liệu rất quan trọng và hữu ích, nó giúp ta quản lý biến một cách dễ dàng hơn. Hy vọng qua bài này bạn đã biết được cách sử dụng mảng trong shell script ở mức căn bản, sau này khi vào phần nâng cao chắc chắn sẽ gặp lại bài này. 

Bài này mình xin dừng tại đây, bài tiếp theo ta sẽ tìm hiểu các toán tử thông dụng trong shell script Linux.

Nguồn: freetuts.net

-------------------#####-------------------

Series có tham khảo một số nguồn như tutorialspoint. Vì mình không muốn cài máy ảo nên sử dụng trực tiếp trên VPS luôn, và VPS mình sử dụng Ubuntu.

KHÓA HỌC ĐANG GIẢM GIÁ

UNICA - Sáng tạo hiệu ứng Flash Fx

(Giảng viên: Master Trần )

XEM
UNICA - Dynamic English Pronunciation

(Giảng viên: GV John Mortimer và GV Huỳnh Thị Tuyết Nga )

XEM
KYNA - English for Beginners

(Giảng viên: ULearning)

XEM

BÌNH LUẬN

Đặt câu hỏi: Hãy tham gia vào group học lập trình web để tham gia thảo luận và đặt câu hỏi, với hơn 30.000 thành viên hiện đang hoạt động tại group này. Ngoài ra bạn cũng có thể đặt câu hỏi nếu cần tư vấn về các vấn đề như định hướng nghề nghiệp, những khó khăn trong quá trình học tập.

Hỗ trợ việc làm: Hãy tham gia vào group việc làm công nghệ thông tin để tìm và đăng tuyển lập trình viên. Hy vọng đây sẽ là nơi tìm kiếm việc làm lý tưởng cho bạn và nhà tuyển dụng.