PowerShell: Wie kann ich die Eingabeaufforderung anpassen?

7

Ich möchte die env-Variable PROMPT als $ p $ _ $ g definieren, damit die Eingabeaufforderung in einer neuen Zeile beginnt.

Scheint aber nicht auf meine PowerShell-Eingabeaufforderung zuzutreffen :-(

dir-Funktion: / zeigt an, dass bereits ein Name "prompt" definiert ist.

Wie kann ich meine Eingabeaufforderung in einer PowerShell-Konsole anpassen, ohne den bereits definierten Namen der Eingabeaufforderung zu verfälschen?

Ariel
quelle

Antworten:

16

Die promptFunktion ist nur die Standardaufforderung von Powershell. Wenn Sie eine neue promptFunktion in Ihr Profil einfügen, wird die vorhandene überschrieben. Wenn Sie jedoch die benutzerdefinierte Definition in Ihrem Profil entfernen, wird die vorherige Funktion erneut verwendet.

Bearbeiten Sie Ihr Profil mit:

notepad $profile

Fügen Sie dann Ihre benutzerdefinierte promptFunktion hinzu:

function prompt {
    "$pwd
    >"
}

Starten Sie Powershell neu und Sie erhalten Ihre neue Eingabeaufforderung.

Zum Zurücksetzen einfach $profileerneut bearbeiten und die neue Funktion entfernen.

MattB
quelle
Ein Hinweis zum Hinzufügen: Sie können so ziemlich alles in Ihrer Eingabeaufforderungsfunktion tun, einschließlich kolorierter Ausgabe (mit Write-Host) usw. Beachten Sie jedoch, dass etwas zurückgegeben werden muss . Wenn Sie dies nur dort tun, erhalten Write-Host -Fore Green -no "PS $pwd> "Sie eine Eingabeaufforderung, PS Home:\> PS> da PowerShell davon ausgeht, dass eine leere Eingabeaufforderung nicht Ihren Vorstellungen entspricht. In diesen Fällen können Sie ein Zeichen mehr als nötig ausgeben und "b "` (das Rücktastezeichen) zurückgeben.
Joey
Johannes: Ich kann nicht glauben, dass ich es vergessen habe $pwd, danke!
MattB