Thứ Sáu, 28 tháng 7, 2023

Sử dụng mảng (Array) trong Shell Script

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é.

Mục lục

  • 1. Khai báo array trong shell script
    • Tạo giá trị lúc khởi tạo biến
  • 2. Xử lý giá trị của các phần tử trong mảng
  • 3. Lời kết

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.

Bài viết này được đăng tại [free tuts .net]

1
2
3
4
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
1
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:

1
set -A array_name value1 value2 ... valuen

Đối với bash shell:

1
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:

1
echo ${variable[index]}

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

1
2
3
4
5
6
7
8
9
10
11
#!/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ả:

1
2
3
4
5
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master