Je fais toujours mon invite à être de cette couleur dans mon linux Ensuite, je peux trouver mon entrée dans la fenêtre de commande noire. Mais pouvons-nous faire la même couleur dans ma Powershell ?
17
Je fais toujours mon invite à être de cette couleur dans mon linux Ensuite, je peux trouver mon entrée dans la fenêtre de commande noire. Mais pouvons-nous faire la même couleur dans ma Powershell ?
Réponses:
Invites PowerShell
Ce que vous voulez faire, c'est personnaliser l' invite .
L'invite par défaut dans PowerShell 3.0 et versions ultérieures est:
Séquences d'échappement de couleur
Maintenant, Windows 10 prend en charge les codes d'échappement ANSI dans son conhost, et la couleur 24 bits est prise en charge depuis 1703.
Pour utiliser l'un des codes d'échappement ANSI, nous avons besoin d'un caractère ESC littéral . Il s'agit de l'octal 033 ou du nombre décimal 27. Dans Bash, vous utiliseriez
"\033"
ou"\e"
; Il n'y a pas de séquence équivalente directe dans PowerShell mais vous pouvez à la place incorporer une expression:"$([char]27)"
Dans PowerShell Core, vous pouvez utiliser la
"`e"
séquence d'échappement à la place. Merci au commentaire de asherber.Utilisation dans PowerShell
Cela signifie que vous pouvez, par exemple, utiliser la séquence d'échappement suivante pour définir la couleur d'arrière-plan sur cyan avec le code
46
:Qui peut être utilisé comme ceci:
Pour rendre les choses plus lisibles, définissons une variable:
Nous pouvons donc utiliser:
Où
$ESC
est le caractère ESC littéral,[
définit le début de la liste des paramètres etm
la fin.L'utiliser dans une commande:
Et pour restaurer les paramètres de couleur d'origine, nous utilisons
0
plutôt le code :Couleurs plus avancées
Si vous n'êtes pas satisfait de la palette de base de 16 couleurs, vous pouvez utiliser des couleurs 24 bits complètes avec le formulaire:
Où
<r>
est la valeur décimale pour le rouge de 0 à 255,<g>
pour le vert et<b>
pour le bleu, par exemple"$ESC[48;2;255;0;123m"
Veuillez vous référer à la documentation pour plus d'informations.
En fait, tout cela est directement équivalent à ce que vous feriez en bash, sauf que vous devez utiliser
$ESC
(après l'avoir défini) au lieu de\e
ou\033
.Définition d'une invite colorée
En les regroupant, nous pouvons utiliser les codes d'échappement de couleur ANSI dans une invite modifiée pour changer la couleur d'arrière-plan:
Persistance
Si vous souhaitez que cela persiste entre les sessions, ajoutez-le à votre profil (comme
.bashrc
). Vous pouvez afficher le chemin d'accès à votre profil dans$profile
.la source
1;37m
c'est la même chose97m
, les deux signifiant "blanc brillant")[char]27
. Je ne sais pas si cela a été ajouté dans les versions antérieures.