Die Argumente des zuletzt aufgerufenen Befehls in der Powershell abrufen?

8

Ich möchte den Argumentteil des vorherigen Befehls erhalten können. $^ scheint nur den Befehl und nicht die Argumente zurückzugeben. Get-History -count 1 gibt den letzten vollständigen Befehl einschließlich des Befehls und der Argumente zurück. Ich könnte einfach. Ersetze die erste Instanz, aber ich bin mir nicht sicher, ob es korrekt ist.

Szenario ist, dass ich manchmal so etwas tun möchte. Nehmen wir an, dass $ * die Argumente für den letzten Befehl sind:

%Vor%

Irgendwelche Ideen, wie man die letzten Argumente richtig bekommt?

UPDATE: habe meine Methode dafür beendet.

%Vor%

Jetzt kann ich einfach tun:

%Vor%

Um das Tippen zu reduzieren, habe ich

gemacht %Vor%

Also jetzt muss ich noch

machen %Vor%

Wenn jemand Ideen dafür hat, dies besser zu machen, lass es mich wissen.

    
esac 12.11.2010, 18:19
quelle

2 Antworten

2

Es gibt keinen einfachen Weg, die letzten Argumente auf diese Art und Weise zu erhalten, ohne das Historienelement selbst zu analysieren, und das ist keine Kleinigkeit. Der Grund ist, dass die "letzten Argumente" möglicherweise nicht das sind, was Sie denken, nachdem sie Splatting, Pipelines, verschachtelte Teilausdrücke, benannte und nicht-nammierte Argumente / Parameter in die Gleichung übernommen haben. In powershell v2 gibt es einen Parser zum Token von Befehlen und Ausdrücken, aber ich bin mir nicht sicher, ob Sie diesen Weg gehen wollen.

%Vor%     
x0n 12.11.2010, 18:42
quelle
9

Für das letzte Argument (nicht alle!) in den interaktiven Hosts wie Konsole und ISE ist es die automatische Variable $$ .

Hilfe

%Vor%

bekommt

%Vor%

Andere Hosts können dieses Feature (oder auch die Variable $^ ) implementieren oder nicht.

    
Roman Kuzmin 12.11.2010 19:50
quelle

Tags und Links