Ich mache immer die Aufforderung, diese Farbe in meinem Linux zu haben. Dann kann ich meine Eingabe im schwarzen Befehlsfenster finden. Aber können wir die gleiche Farbe in meiner Powershell machen ?
17
Ich mache immer die Aufforderung, diese Farbe in meinem Linux zu haben. Dann kann ich meine Eingabe im schwarzen Befehlsfenster finden. Aber können wir die gleiche Farbe in meiner Powershell machen ?
Antworten:
PowerShell-Eingabeaufforderungen
Sie möchten die Eingabeaufforderung anpassen .
Die Standardeingabeaufforderung in PowerShell 3.0 und höher lautet:
Farbfluchtsequenzen
Nun, Microsoft Windows 10 unterstützt der ANSI - Escape - Codes in seiner conhost und 24-Bit - Farbe ist seit 1703 unterstützt.
Um einen der ANSI-Escape-Codes zu verwenden, benötigen wir ein buchstäbliches ESC-Zeichen . Dies ist Oktal 033 oder Dezimal 27. In Bash würden Sie
"\033"
oder verwenden"\e"
. Es gibt keine direkte äquivalente Sequenz in PowerShell, aber Sie können stattdessen einen Ausdruck einbetten:"$([char]27)"
In PowerShell Core können Sie
"`e"
stattdessen die Escape-Sequenz verwenden. Danke an den Kommentar von asherber.In PowerShell verwenden
Dies bedeutet, dass Sie beispielsweise die folgende Escape-Sequenz verwenden können, um die Hintergrundfarbe mit dem Code auf Cyan festzulegen
46
:Welches kann so verwendet werden:
Um die Lesbarkeit zu verbessern, definieren wir eine Variable:
So können wir verwenden:
Wo
$ESC
ist das wörtliche ESC-Zeichen,[
definiert den Anfang der Parameterliste undm
das Ende.Verwenden Sie es in einem Befehl:
Und um die ursprünglichen Farbeinstellungen wiederherzustellen, verwenden wir
0
stattdessen den Code :Fortgeschrittenere Farben
Wenn Sie mit der grundlegenden 16-Farben-Palette nicht zufrieden sind, können Sie mit dem folgenden Formular vollständige 24-Bit-Farben verwenden:
Wo
<r>
ist der Dezimalwert für Rot von 0-255,<g>
für Grün und<b>
für Blau, z"$ESC[48;2;255;0;123m"
Weitere Informationen finden Sie in der Dokumentation .
Tatsächlich ist dies alles direkt äquivalent zu dem, was Sie in bash tun würden, außer dass Sie
$ESC
(nachdem Sie es definiert haben) anstelle von\e
oder verwenden müssen\033
.Festlegen einer farbigen Eingabeaufforderung
Zusammengenommen können wir die ANSI-Escape-Farbcodes in einer modifizierten Eingabeaufforderung verwenden, um die Hintergrundfarbe zu ändern:
Beharrlichkeit
Wenn Sie möchten, dass dies über mehrere Sitzungen hinweg so bleibt, fügen Sie es Ihrem Profil hinzu (wie
.bashrc
). Sie können den Pfad zu Ihrem Profil in anzeigen$profile
.quelle
1;37m
die gleiche97m
Bedeutung haben wie "helles Weiß")[char]27
. Ich bin nicht sicher, ob dies in früheren Versionen hinzugefügt wurde.