2010-11-22 17 views
8

Sah diese Variablen im Debugger und ich bin mir nicht sicher, was sie tun.

Antwort

13
  • $_ Das aktuelle Pipeline-Objekt; in Skriptblöcke, Filtern, den Prozess-Klausel von Funktionen, wo-Objekt, foreach-Objekt verwendet, und der Schalter
  • $^ enthält das erste Zeichen der letzten Zeile Eingang in die Schale
  • $$ enthält die letzten Zeichen der letzten Zeile Eingangs in die Schale enthält
  • $? den Erfolg/Status der letzten Anweisung scheitern

Quelle: http://www.computerperformance.co.uk/powershell/powershell_variables.htm#%24Dollar_variables_

+0

Ich denke, die Beschreibung für '$ _' könnte zu" in Skriptblöcken verwendet "verkürzt werden. Alle anderen aufgelisteten Fälle sind ebenfalls Skriptblöcke. – Joey

+1

Ich bekomme $ _ und $? jetzt, aber warum sollte ich jemals $^oder $$ verwenden? – Micah

4

In Powershell, vor ein Dollarzeichen einen Namen angibt, eine Variable. Die fraglichen Symbole sind nur Sonderfälle von Variablen, die von der PowerShell-Umgebung bereitgestellt werden. Sie werden auch als "automatische" Variablen bezeichnet. Genauer gesagt:

  • $$ ist eine Variable, die die letzten Zeichen der letzten Zeile Eingang in die Schale
    (enthält nicht den gesamten Befehl)

  • $^ ist eine Variable, die das erste Zeichen der enthält letzte Zeile Eingang in die Schale
    (enthält nicht den gesamten Befehl)

  • $? ist eine Variable, die den Erfolg oder Misserfolg der letzten Anweisung enthält
    (012.wenn der vorherige Befehl mit einem Fehler beendet wurde; True sonst.)

+1

"True, wenn der vorherige Befehl mit einem Fehler beendet wurde; False andernfalls" Wirklich? –

+0

@ AndrewJ.Brehm: Ich habe den Beitrag bearbeitet, um diese Aussage zu korrigieren. – goric

8

lesen

Get-Help About_Automatic_Variables 

Es ist alles über die Güte der automatischen Variablen, die erstellt werden, wenn Powershell-Konsole.

+2

Diese sind nicht spezifisch für den Konsolen-Host. – Joey