Cách sử dụng từ điển giá trị chính trong Bash

Cach Su Dung Tu Dien Gia Tri Chinh Trong Bash



Bash là một công cụ mạnh mẽ cho phép bạn tự động hóa các tác vụ phức tạp và viết các tập lệnh tùy chỉnh để xử lý dữ liệu. Một trong những tính năng hữu ích nhất của bash là khả năng sử dụng từ điển khóa-giá trị để lưu trữ và thao tác dữ liệu. Từ điển cho phép bạn lưu trữ và truy cập dữ liệu nhanh chóng và dễ dàng, giúp mã của bạn hiệu quả hơn. Trong bài viết này, chúng ta sẽ thảo luận về cách sử dụng từ điển khóa-giá trị trong bash.

Từ điển khóa-giá trị là gì

Từ điển khóa-giá trị là cấu trúc dữ liệu cho phép bạn lưu trữ và truy cập dữ liệu theo khóa. Mỗi key có một giá trị tương ứng, có thể là bất kỳ kiểu dữ liệu nào như string, integer hay thậm chí là một cấu trúc dữ liệu khác và dưới đây là cú pháp cộng giá trị cho key theo cú pháp tạo dictionary trong bash:







tuyên bố -MỘT < dict_name >



Thao tác này tạo ra một từ điển trống có tên dict_name với cờ -A cho biết đó là một mảng kết hợp. Khi bạn đã tạo một từ điển, bạn có thể thêm các khóa và giá trị vào từ điển đó bằng cú pháp sau:



< dict_name > [ < chìa khóa > ] = < giá trị >





Cách sử dụng từ điển khóa-giá trị trong Bash

Sử dụng từ điển khóa-giá trị trong bash rất hữu ích trong nhiều tình huống như khi tạo mật mã do bạn chọn, chẳng hạn như thực hiện phép tính số học phức tạp hoặc dài hoặc lưu chi tiết mà bạn có thể truy cập ở bất kỳ đâu trong mã. Vì vậy, để chứng minh việc sử dụng từ điển khóa-giá trị trong bash, tôi đã đưa ra ba ví dụ sẽ giúp bạn hiểu cách sử dụng chúng và đây là những ví dụ đó:

Cách thực hiện phép toán số học bằng từ điển khóa-giá trị

Một cách sử dụng khả dĩ khác của từ điển khóa-giá trị là người ta có thể thực hiện một số phép toán số học khác nhau dù phức tạp hay đơn giản và đây là mã bash thực hiện phép cộng và phép trừ bằng cách sử dụng dữ liệu được lưu trữ trong từ điển:



#!/bin/bash
# Xác định từ điển với các cặp khóa-giá trị
tuyên bố -MỘT my_dict
my_dict [ 'Một' ] = 5
my_dict [ 'b' ] = 10
my_dict [ 'c' ] = mười lăm

# Thêm hai giá trị vào từ điển
Tổng =$ ( ( my_dict [ 'Một' ] + my_dict [ 'b' ] ) )
tiếng vang 'Tổng của a và b là: tổng $ '

# Trừ một giá trị từ một giá trị khác trong từ điển
khác biệt =$ ( ( my_dict [ 'c' ] - my_dict [ 'Một' ] ) )
tiếng vang 'Sự khác biệt giữa c và a là: khác biệt $ '

Đầu tiên, một mảng kết hợp hoặc từ điển có tên my_dict được xác định bằng các cặp khóa-giá trị. Sau đó, hai giá trị từ từ điển, a và b, được cộng lại với nhau và được lưu trữ trong một biến gọi là tổng. Kết quả của phép cộng được in ra bằng lệnh echo.

Tiếp theo, một giá trị từ từ điển, a, được trừ khỏi một giá trị khác, c. Kết quả của phép trừ được lưu trữ trong một biến gọi là diff và kết quả được in ra bằng cách sử dụng lệnh echo. Nhìn chung, tập lệnh này trình bày cách sử dụng từ điển để lưu trữ và thao tác dữ liệu trong Bash.

Cách tạo cơ sở dữ liệu bằng từ điển khóa-giá trị

Một trong những cách sử dụng phổ biến nhất của từ điển khóa-giá trị là tạo cơ sở dữ liệu; nó có thể là chi tiết của bất kỳ thứ gì mà bạn có thể sử dụng sau này trong tập lệnh bash. Ở đây tôi đã đưa ra một ví dụ lấy dữ liệu của một công ty và không chỉ vậy, tập lệnh còn chỉ ra cách cập nhật khóa hiện có trong từ điển:

#!/bin/bash
tuyên bố -MỘT công ty = (
[ tên ] = 'Tập đoàn Acme'
[ vị trí ] = 'Thành phố New York, NY'
[ ngành công nghiệp ] = 'Chế tạo'
[ kích cỡ ] = 'Lớn'
[ thành lập ] = '1920'
)

# in tất cả các chi tiết
bản inf 'Chi tiết công ty: \N '
chìa khóa TRONG ' ${!company[@]} ' ; LÀM
bản inf '%s: %s \N ' ' khóa $ ' ' ${công ty[$key]} '
xong

# sửa đổi giá trị của khóa 'vị trí'
công ty [ 'vị trí' ] = 'Los Angeles, CA'

# in chi tiết cập nhật
bản inf ' \N Cập nhật chi tiết công ty: \N '
chìa khóa TRONG ' ${!company[@]} ' ; LÀM
bản inf '%s: %s \N ' ' khóa $ ' ' ${công ty[$key]} '
xong

Tập lệnh bash này định nghĩa một từ điển có tên là công ty chứa thông tin về một công ty, chẳng hạn như tên, địa điểm, ngành, quy mô và năm thành lập. Hàm printf được sử dụng để hiển thị thông tin chi tiết của công ty ở định dạng có thể đọc được. Vòng lặp for lặp qua các khóa của từ điển công ty và đối với mỗi khóa, hàm printf được gọi với khóa và giá trị tương ứng của nó làm đối số. Từ điển công ty sau đó được cập nhật bằng cách thay đổi giá trị của khóa vị trí thành “Los Angeles, CA”. Cuối cùng, các chi tiết cập nhật của công ty được hiển thị ở cùng định dạng như trước khi sử dụng một vòng lặp for khác và hàm printf:

Phần kết luận

Việc sử dụng các mảng kết hợp có thể giúp bạn làm cho các tập lệnh bash của mình hiệu quả hơn và dễ bảo trì hơn, bằng cách cho phép bạn lưu trữ và truy xuất dữ liệu bằng các tên có ý nghĩa thay vì các chỉ số khó hiểu. Bài viết này chứng minh việc sử dụng từ điển khóa-giá trị trong Bash với sự trợ giúp của hai ví dụ.