Zawsze podsuwam monit o bycie tym kolorem w moim systemie Linux. Następnie mogę znaleźć swoje wejście w czarnym oknie poleceń. Ale czy możemy zrobić ten sam kolor w mojej Powershell ?
17
Zawsze podsuwam monit o bycie tym kolorem w moim systemie Linux. Następnie mogę znaleźć swoje wejście w czarnym oknie poleceń. Ale czy możemy zrobić ten sam kolor w mojej Powershell ?
Odpowiedzi:
Monity PowerShell
To, co chcesz zrobić, to dostosować monit .
Domyślny monit w programie PowerShell 3.0 i nowszym to:
Sekwencje zmiany koloru
Teraz, Windows 10 podpory te kody ucieczki ANSI w swojej conhost i 24-bitowa głębia kolorów jest obsługiwany od 1703 roku.
Aby użyć jednego z kodów ucieczkowych ANSI, potrzebujemy dosłownego znaku ESC . Jest to ósemkowa 033 lub dziesiętna 27. W Bash użyłbyś
"\033"
lub"\e"
; W programie PowerShell nie ma bezpośredniej równoważnej sekwencji, ale zamiast tego można osadzić wyrażenie:"$([char]27)"
W PowerShell Core można
"`e"
zamiast tego użyć sekwencji ucieczki. Dzięki komentarzowi asherbera.Użyj w PowerShell
Oznacza to, że możesz na przykład użyć następującej sekwencji zmiany znaczenia, aby ustawić kolor tła na niebieskozielony za pomocą kodu
46
:Które można wykorzystać tak:
Aby wszystko było bardziej czytelne, zdefiniujmy zmienną:
Możemy więc użyć:
Gdzie
$ESC
jest dosłowny znak ESC,[
określa początek listy parametrów im
koniec.Używanie go w poleceniu:
Aby przywrócić oryginalne ustawienia kolorów,
0
zamiast tego używamy kodu :Bardziej zaawansowane kolory
Jeśli nie jesteś zadowolony z podstawowej palety 16 kolorów, możesz użyć pełnych 24-bitowych kolorów za pomocą formularza:
Gdzie
<r>
jest wartość dziesiętna dla czerwonego z 0-255,<g>
dla zielonego i<b>
niebieskiego, np"$ESC[48;2;255;0;123m"
Więcej informacji znajduje się w dokumentacji .
W rzeczywistości jest to bezpośrednio równoważne z tym, co zrobiłbyś w bash, z wyjątkiem tego, że musisz użyć
$ESC
(po zdefiniowaniu) zamiast\e
lub\033
.Ustawianie kolorowego monitu
Zestawiając je razem, możemy użyć kodów ucieczki kolorów ANSI w zmodyfikowanym monicie, aby zmienić kolor tła:
Trwałość
Jeśli chcesz, aby trwało to między sesjami, dodaj go do swojego profilu (np
.bashrc
.). Możesz wyświetlić ścieżkę do swojego profilu w$profile
.źródło
1;37m
jest to to samo97m
, co oznacza „jasna biel”)[char]27
. Nie jestem pewien, czy zostało to dodane we wcześniejszych wersjach.