Übergabe von Parametern an PowerShell-Funktionen

Es hat mal wieder lange gedauert bis ich herausgefunden habe, warum der folgende Funktionsaufruf in der PowerShell nicht richtig funktioniert: function f1 ($p1, $p2)
{
write-host $p1;
write-host $p2;
}

f1(“test”, “123”);
Als Ausgabe kommt nur eine Zeile, anstatt wie erwartet zwei: test 123

In einer Microsoft-Newsgroup habe ich die Antwort gefunden: Die Powershell interpretiert die “Parameterübergabe” ("test", "123") als Array (diese werden in der PowerShell in Klammern und mit Kommas getrennt geschrieben). Dieser dient der Funktion als erster Parameter, während der zweite dann leer bleibt. Somit wird nur eine Zeile ausgegeben. Der folgende Funktionsaufruf führt zum richtigen Ergebnis: f1 "test" "123";

Über Stefan

Polyglot Clean Code Developer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert