PowerShell-Arrays: So erstellen und verwenden Sie sie

Variablen sind die grundlegendste Datenstruktur in jeder Art von Codierung(any type of coding) . Aber einzelne Variablen reichen für die meisten Zwecke kaum aus, insbesondere wenn es um komplexere Algorithmen geht.

Hier kommen Arrays ins Spiel. Ob C++ oder Python , Arrays sind in irgendeiner Form in jeder Programmiersprache vorhanden. Aber was ist mit Windows PowerShell ? Wie funktionieren PowerShell- Arrays? Wie verwenden Sie sie? Was ist ihre Syntax? Lass es uns herausfinden.

PowerShell-Arrays 101

Einfach(Simply) gesagt ist ein Array nur eine strukturierte Sammlung von Variablen. Die Idee ist, den Aufwand zu beseitigen, den Überblick über Dutzende von Namen zu behalten, indem verwandte Variablen in einem nummerierten Satz zusammengefasst werden.

In PowerShell können Sie eine Variable erstellen, indem Sie einem Variablennamen das Symbol $ voranstellen. Zum Beispiel:

$prime = 13

Die Variable kann jeden Datentyp enthalten, von Zahlen bis zu Zeichenfolgen. Sie müssen nur doppelte oder einfache Anführungszeichen verwenden, um eine Zeichenfolge anzugeben.

$name = “Levin”

Um nun ein neues Array zu erstellen, weisen Sie derselben Variablen einfach mehrere Werte zu, die durch Kommas getrennt sind. So was:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

Einige Leute ziehen es vor, eine Variable explizit in ein Array zu werfen, um Verwirrung zu vermeiden, obwohl das nicht notwendig ist. Dazu setzen Sie die Werte in Klammern mit vorangestelltem @-Zeichen.

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

Dies ist normalerweise praktisch, wenn Sie versuchen, die Ausgabe anderer Befehle in ein Array zu schreiben, in das Sie sie nicht manuell im richtigen Format schreiben können.

Erstellen eines Arrays

Wir haben bereits die gebräuchlichste Methode zum Erstellen eines Arrays gesehen. Aber je nach Situation gibt es andere Möglichkeiten, die geeigneter sein könnten. Wenn Sie beispielsweise ein Array erstellen möchten, das einen Zahlenbereich enthält, können Sie den Bereichsoperator verwenden:

$digits = (0..9)

Dadurch wird ein Array aller zehn Ziffern von null bis neun erstellt. Sie können auch ein leeres Array initialisieren, falls Sie später nur einen Ort zum Speichern von Werten benötigen.

$values = @()

Es können sogar mehrere(Multiple) Arrays ineinander verschachtelt werden, was allerdings sehr schnell unübersichtlich werden kann.

$coordinates = @(
    (5, 10, 23),
    (11, 7, 16)
)

Standardmäßig kann ein Array jeden Variablentyp speichern, seien es Zahlen, Strings oder eine Mischung aus beidem. Sie können einen Typ jedoch explizit definieren, falls Sie die darin enthaltenen Werte einschränken möchten. Zum Beispiel:

[int[]] $numbers = 2,3,4,5

Auf diese Weise kann das Array nur ganze Zahlen enthalten. Der Versuch, ihm einen anderen Werttyp zuzuweisen, gibt einen Fehler zurück. Dies kann nützlich sein, um einfache Fehler für Arrays zu vermeiden, die ausschließlich mit numerischen Werten arbeiten, da die Eingabe einer Zeichenfolge in eine Variable, die in Berechnungen verwendet werden soll, Probleme verursacht.

Zugriff auf Arrays

Bisher haben wir mehrere Methoden zum Erstellen von Arrays gesehen, die verschiedene Datentypen enthalten. Aber wie greifen Sie auf diese Daten zu?

PowerShell -Arrays verwenden dasselbe Format wie andere Programmiersprachen. Auf jede Array-Variable kann über ihre Indexnummer zugegriffen werden. Zum Beispiel:

$var = $numbers[5]

Dadurch wird der in Index fünf des $numbers Arrays gespeicherte Wert in die $var Variable kopiert. Beachten Sie, dass Array-Indizes bei 0 zu zählen beginnen, sodass auf das erste Element mit null zugegriffen wird.

Wenn wir dies zum Beispiel ausgeben würden:

“$days[2]”

Wir bekommen Mittwoch, nicht Dienstag.

Sie können dieselbe Methode auch verwenden, um diese Werte zu ändern. Der folgende Befehl ändert beispielsweise das zweite Element des Arrays auf Null:

$numbers[1] = 0

Sie können einem vorhandenen Array auch weitere Elemente hinzufügen, anstatt die Werte aktueller Einträge zu ändern, indem Sie sie einfach wie einen arithmetischen Ausdruck hinzufügen.

$names += “Johny”

Mit dieser Methode können auch mehrere Einträge oder sogar ganze Arrays auf einmal hinzugefügt werden.

$names += “Charlie, Liam, Teresa”

$names += $surnames

Die kommaseparierte Methode gilt auch für den Zugriff auf mehrere Array-Elemente. Wenn Sie dies eingeben, werden beispielsweise die ersten fünf Elemente von $days in $weekdays .

$weekdays = $days[0,1,2,3,4]

Durch Arrays iterieren

Der manuelle Zugriff auf bestimmte Elemente eines Arrays ist schön und gut, aber wenn Sie Aktionen für den gesamten Inhalt eines Arrays ausführen möchten, kann es mühsam werden. Ein eleganterer Ansatz ist die Verwendung einer For-Schleife.

For-Schleifen können systematisch alle Elemente eines Arrays durchlaufen und jeden Wert gemäß den Anweisungen verarbeiten. So können Sie eine solche Schleife konstruieren:

For ($i = 0 ; $i -lt $days.Length ; $i++){
    $days[$i]}

Die Funktion array.Length gibt die Größe des Arrays zurück, das ist im Grunde die Anzahl der darin enthaltenen Elemente. Dies kann in den Testausdrucksparameter einer For-Schleife eingefügt werden, um alle Elemente umfassend zu durchlaufen.

Die Foreach - Schleife und die Foreach -object-Schleife können dasselbe mit einem noch schlankeren PowerShell - Skript tun.

Foreach ($day in $days){
    $day}

Dies erspart Ihnen den Aufwand, die Größe des Arrays zu bestimmen, und überlässt die Details PowerShell .

Wann sollten Sie PowerShell-Arrays verwenden?(PowerShell Arrays)

Die größte Fehlerquelle in einem komplexen Skript sind falsch referenzierte Variablen. Dies geschieht aufgrund des Vorhandenseins einer großen Anzahl eindeutig benannter Variablen, was es schwierig macht, sich an ihren Zweck zu erinnern.

Die einfachste Lösung für dieses Problem besteht darin, Arrays ausgiebig zu verwenden. Alle in irgendeiner Weise verwandten Variablen können einem einzelnen Array zugewiesen und über ihre Indexnummern aufgerufen werden.

Der Hauptanwendungsfall von Microsoft PowerShell(Microsoft PowerShell’s) ist die Automatisierung, und Arrays spielen dabei eine entscheidende Rolle. Die von PowerShell(PowerShell) -Cmdlets zurückgegebenen Objekte können in Arrays gespeichert und durchlaufen werden. Dadurch können aufeinanderfolgende Aufgaben automatisch ausgeführt werden, was die Systemverwaltung erheblich vereinfacht.



About the author

Ich bin ein iOS-Entwickler mit über 10 Jahren Erfahrung. Ich habe mich auf die Entwicklung von Apps für iPhone und iPad spezialisiert. Ich habe Erfahrung beim Erstellen von Benutzerabläufen, dem Erstellen von benutzerdefinierten Entwicklungskits (CDKs) und der Arbeit mit verschiedenen App-Entwicklungsframeworks. In meiner früheren Arbeit habe ich auch Tools entwickelt, die bei der Verwaltung von Apples App Store helfen, darunter ein Produktmanagement-Tool und ein App-Übermittlungstool.



Related posts