Я всегда подсказываю, чтобы этот цвет был в моем Linux. Тогда я могу найти свой ввод в черном командном окне. Но можем ли мы сделать такой же цвет в моем Powershell ?
17
Я всегда подсказываю, чтобы этот цвет был в моем Linux. Тогда я могу найти свой ввод в черном командном окне. Но можем ли мы сделать такой же цвет в моем Powershell ?
Ответы:
PowerShell предлагает
Что вы хотите сделать, это настроить подсказку .
Приглашение по умолчанию в PowerShell 3.0 и новее:
Последовательности выхода цвета
Теперь, Windows 10 опоры на символьные коды ANSI в своем conhost, и 24-битный цвет поддерживается начиная с 1703 года.
Чтобы использовать один из управляющих кодов ANSI, нам нужен буквальный символ ESC . Это восьмеричное 033 или десятичное 27. В Bash вы бы использовали
"\033"
или"\e"
; В PowerShell нет прямой эквивалентной последовательности, но вместо этого вы можете встроить выражение:"$([char]27)"
В PowerShell Core вы можете использовать
"`e"
escape-последовательность. Благодаря комментарию asherber.Использовать в PowerShell
Это означает, что вы можете, например, использовать следующую escape-последовательность для установки цвета фона на голубой с кодом
46
:Который можно использовать так:
Чтобы сделать вещи более читабельными, давайте определим переменную:
Таким образом, мы можем использовать:
Где
$ESC
буквенный символ ESC,[
определяет начало списка параметров иm
конец.Используя это в команде:
И чтобы восстановить исходные настройки цвета, мы используем
0
вместо этого код :Более продвинутые цвета
Если вас не устраивает базовая 16-цветная палитра, вы можете использовать полные 24-битные цвета с формой:
Где
<r>
десятичное значение для красного от 0 до 255,<g>
для зеленого и<b>
для синего, например"$ESC[48;2;255;0;123m"
Пожалуйста, обратитесь к документации для получения дополнительной информации.
Фактически, все это прямо эквивалентно тому, что вы делаете в bash, за исключением того, что вам нужно использовать
$ESC
(после того, как вы это определили) вместо\e
или\033
.Установка цветной подсказки
Собрав их вместе, мы можем использовать escape-коды цвета ANSI в измененном приглашении, чтобы изменить цвет фона:
Упорство
Если вы хотите, чтобы это сохранялось между сеансами, добавьте его в свой профиль (например
.bashrc
). Вы можете просмотреть путь к вашему профилю в$profile
.источник
1;37m
это то же самое97m
, что означает «ярко-белый»)[char]27
. Я не уверен, было ли это добавлено в более ранних версиях.