Übergabe von Parametern an PowerShell-Funktionen

URL dieses Beitrags: http://blog.stefan-macke.com/2007/07/27/uebergabe-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";
Füge diesen Artikel zu deinen Bookmarks hinzu Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • del.icio.us
  • bodytext
  • MisterWong
  • Reddit
  • Technorati
  • Spurl
  • description

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>