oPowerShellsolicita
Oquevocêdesejafazerépersonalizaro
O prompt padrão no PowerShell 3.0 e mais recente é:
function prompt
{
"PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}
Sequências de escape de cores
Agora, o Windows 10 suporta os códigos de escape ANSI são conhecidos, e 24-bit color é suportado desde 1703.
Para usar um dos códigos de escape ANSI, precisamos de um caractere ESC literal. Este é o octal 033, ou decimal 27. No Bash, você usaria "3"
ou "\e"
; Não há sequência equivalente direta no PowerShell, mas você pode incorporar uma expressão: "$([char]27)"
Use no PowerShell
Isso significa que você pode, por exemplo, usar a seguinte seqüência de escape para definir a cor do plano de fundo para ciano com o código 46
:
"$([char]27)[46m"
Que pode ser usado assim:
echo "$([char]27)[46mColoured text"
Para tornar as coisas mais legíveis, vamos definir uma variável:
$ESC = [char]27
Para que possamos usar:
"$ESC[46m"
Em que $ESC
é o caractere ESC literal, [
define o início da lista de parâmetros e m
o final.
Usando em um comando:
echo "$ESC[46mColoured text"
E para restaurar as configurações de cor originais, usamos o código 0
:
echo "$ESC[46mColoured text$ESC[0mUncoloured text"
Cores mais avançadas
Se você não estiver satisfeito com a paleta básica de 16 cores, poderá usar cores completas de 24 bits com o seguinte formato:
"$ESC[48;2;<r>;<g>;<b>m"
Em que <r>
é o valor decimal para vermelho de 0-255, <g>
para verde e <b>
para azul, por exemplo "$ESC[48;2;255;0;123m"
Consulte a documentação para mais informações.
Na verdade, isso tudo é diretamente equivalente ao que você faria no bash, exceto que você precisa usar $ESC
(depois de ter definido) em vez de \e
ou 3
.
Definindo um prompt colorido
Juntando tudo, podemos usar os códigos de escape de cor ANSI em um prompt modificado para alterar a cor do plano de fundo:
function prompt
{
$ESC = [char]27
"$ESC[46mPS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) $ESC[0m"
}
Persistência
Se você quiser que isso persista nas sessões, adicione-o ao seu perfil (como .bashrc
). Você pode ver o caminho para o seu perfil em $profile
.