Thông báo: Hotrowordpress sẽ tiến hành cập nhật lại toàn bộ plugin-themes hiện có trên blog. Thời gian hỗ trợ cập nhật từ ngày 30.03.2024, nếu cần gấp bản mới nhất vui lòng gửi mail về cho admin để nhận link download ưu tiên!

Mảng PowerShell: Cách tạo và sử dụng chúng

0

Biến là cấu trúc dữ liệu cơ bản nhất trong bất kỳ loại mã hóa nào. Nhưng các biến đơn lẻ hầu như không đủ cho hầu hết các mục đích, đặc biệt khi xử lý các thuật toán phức tạp hơn.

Đó là lúc mảng xuất hiện. Dù là C++ hay Python, mảng đều có mặt trong mọi ngôn ngữ lập trình dưới một số dạng. Nhưng còn Windows PowerShell thì sao? Mảng PowerShell hoạt động như thế nào? Làm thế nào để bạn sử dụng chúng? Cú pháp của họ là gì? Hãy cùng tìm hiểu.

Mảng PowerShell: Cách tạo và sử dụng chúng hình ảnh 1

Mảng PowerShell 101

Nói một cách đơn giản, mảng chỉ là một tập hợp các biến có cấu trúc. Ý tưởng là để loại bỏ rắc rối khi theo dõi hàng tá tên bằng cách thu gọn các biến liên quan thành một tập hợp được đánh số.

Trong PowerShell, bạn có thể tạo một biến bằng cách thêm ký hiệu $ vào tên biến. Ví dụ:

$ nguyên tố = 13

Biến có thể chứa bất kỳ kiểu dữ liệu nào, từ số đến chuỗi. Bạn chỉ cần sử dụng dấu ngoặc kép hoặc dấu ngoặc đơn để chỉ định một chuỗi.

$name = “Levin”

Bây giờ để tạo một mảng mới, chỉ cần gán nhiều giá trị cho cùng một biến, phân tách bằng dấu phẩy. Như thế này:

$week = “Thứ Hai”, “Thứ Ba”, “Thứ Tư”, “Thứ Năm”, “Thứ Sáu”, “Thứ Bảy”, “Chủ Nhật”

Một số người thích đưa một biến vào một mảng một cách rõ ràng để tránh nhầm lẫn, mặc dù điều đó không cần thiết. Để thực hiện việc này, hãy đặt các giá trị vào dấu ngoặc đơn có dấu @ ở đầu.

$week = @(“Thứ Hai”, “Thứ Ba”, “Thứ Tư”, “Thứ Năm”, “Thứ Sáu”, “Thứ Bảy”, “Chủ nhật”)

Điều này thường hữu ích khi cố gắng đưa đầu ra của các lệnh khác vào một mảng, nơi bạn không thể viết chúng theo đúng định dạng theo cách thủ công.

Tạo một mảng

Chúng ta đã thấy phương pháp phổ biến nhất để tạo mảng. Nhưng tùy vào hoàn cảnh mà có những cách khác có thể phù hợp hơn. Ví dụ: nếu bạn muốn tạo một mảng chứa một dãy số, bạn có thể sử dụng toán tử phạm vi:

$chữ số = (0..9)

Điều này sẽ tạo ra một mảng gồm tất cả mười chữ số từ 0 đến 9. Bạn cũng có thể khởi tạo một mảng trống, trong trường hợp sau này bạn chỉ muốn có một nơi để lưu trữ các giá trị.

giá trị $ = @()

Nhiều mảng thậm chí có thể được lồng vào nhau, mặc dù cách sử dụng này có thể gây nhầm lẫn rất nhanh.

tọa độ $ = @(
(5, 10, 23),
(11, 7, 16)
)

Theo mặc định, một mảng có thể lưu trữ bất kỳ loại biến nào, có thể là số, chuỗi hoặc kết hợp cả hai. Nhưng bạn có thể xác định rõ ràng một loại trong trường hợp bạn muốn giới hạn các giá trị được đặt trong đó. Ví dụ:

[int[]]$số = 2,3,4,5

Bằng cách này, mảng chỉ có thể chứa số nguyên. Cố gắng gán bất kỳ loại giá trị nào khác cho nó sẽ trả về lỗi. Điều này có thể hữu ích để ngăn các lỗi đơn giản đối với các mảng chỉ làm việc với các giá trị số, vì việc nhập một chuỗi vào một biến dùng trong phép tính sẽ tạo ra sự cố.

Truy cập mảng

Cho đến nay chúng ta đã thấy nhiều phương pháp tạo mảng chứa nhiều loại dữ liệu khác nhau. Nhưng làm thế nào để bạn truy cập dữ liệu này?

Mảng PowerShell sử dụng cùng định dạng được sử dụng bởi các ngôn ngữ lập trình khác. Mỗi biến mảng có thể được truy cập bằng số chỉ mục của nó. Ví dụ:

$var = số $[5]

Điều này sẽ sao chép giá trị được lưu trữ trong chỉ mục năm của số $ mảng trong $var Biến đổi. Lưu ý rằng các chỉ mục mảng bắt đầu đếm từ 0, vì vậy mục đầu tiên được truy cập bằng 0.

Ví dụ: nếu chúng ta xuất cái này:

“$ ngày[2]”

Chúng ta sẽ có thứ Tư, không phải thứ Ba.

Bạn cũng có thể sử dụng phương pháp tương tự để sửa đổi các giá trị này. Ví dụ: lệnh sau sẽ thay đổi phần tử thứ hai của mảng thành 0:

số $[1] = 0

Bạn cũng có thể thêm nhiều hơn nữa elements vào một mảng hiện có thay vì thay đổi giá trị của các mục hiện tại chỉ bằng cách thêm chúng như một biểu thức số học.

$names += “Johny”

Phương pháp này có thể được sử dụng để thêm nhiều mục cùng một lúc hoặc thậm chí toàn bộ mảng.

$names += “Charlie, Liam, Teresa”

$name += $họ

Phương thức được phân tách bằng dấu phẩy giữ để truy cập nhiều mảng elements cũng vậy. Ví dụ: nhập vào đây sẽ lưu trữ năm giá trị đầu tiên elements của $ ngày TRONG $ngày trong tuần.

$ngày trong tuần = $ngày[0,1,2,3,4]

Lặp qua mảng

Truy cập thủ công cụ thể elements của một mảng là tốt và tốt, nhưng nếu bạn muốn thực hiện các hành động trên toàn bộ nội dung của một mảng thì việc đó có thể trở nên tẻ nhạt. Một cách tiếp cận tao nhã hơn là sử dụng vòng lặp For.

Vòng lặp for có thể đi qua tất cả các elements của một mảng, xử lý từng giá trị theo hướng dẫn. Đây là cách bạn có thể xây dựng một vòng lặp như vậy:

Đối với ($i = 0 ; $i -lt $days.Length ; $i++)
{

$ ngày[$i]
}

Hàm array.Length trả về kích thước của mảng, về cơ bản là số lượng elements trong đó. Điều này có thể được cắm vào tham số biểu thức kiểm tra của vòng lặp For để lặp lại một cách toàn diện trên tất cả elements.

Vòng lặp Foreach và vòng lặp Foreach-object có thể thực hiện tương tự với tập lệnh PowerShell thậm chí còn gọn gàng hơn.

Foreach ($ngày tính bằng $ngày)
{

ngày $
}

Điều này giúp bạn tiết kiệm công sức xác định kích thước của mảng, để lại các chi tiết cho PowerShell xử lý.

Khi nào bạn nên sử dụng mảng PowerShell

Nguồn lỗi lớn nhất trong một tập lệnh phức tạp là các biến được tham chiếu không chính xác. Điều này xảy ra do sự hiện diện của một số lượng lớn các biến được đặt tên duy nhất, khiến việc nhớ mục đích của chúng trở nên khó khăn.

Cách khắc phục đơn giản nhất cho vấn đề này là sử dụng rộng rãi mảng. Tất cả các biến liên quan theo một cách nào đó có thể được gán vào một mảng duy nhất và được truy cập thông qua số chỉ mục của chúng.

Trường hợp sử dụng chính của Microsoft PowerShell là tự động hóa và mảng đóng vai trò then chốt trong đó. Các đối tượng được lệnh ghép ngắn PowerShell trả về có thể được lưu trữ thành mảng và lặp lại. Điều này cho phép các tác vụ tuần tự được thực hiện tự động, đơn giản hóa đáng kể việc quản trị hệ thống.

Để lại bình luận

Địa chỉ email của bạn sẽ được chúng tôi bảo mật thông tin.