GNU/Linux >> Tutoriels Linux >  >> Linux

Bash a-t-il une commande de couleur, comme on le voit dans MS-Windows CMD ?

Il existe plusieurs façons de procéder.

Une façon consiste à utiliser tput :

tput setab 4 définit la couleur d'arrière-plan sur bleu. Pour définir la couleur de premier plan, utilisez tput setaf .

Une autre méthode consiste à utiliser des échappements ANSI bruts, voici une bonne documentation :https://misc.flogisoft.com/bash/tip_colors_and_formatting


La commande setterm peut être utilisé :

setterm -background blue

ou

setterm -ba blue

Cela utilise des séquences de contrôle ECMA-48 standard et fonctionnera réellement avec de nombreux émulateurs de terminaux (mais pas tous). (Contrairement au manuel, il n'utilise en fait pas terminfo pour cette option.) ECMA-48 inclut la notion de couleur par défaut pour l'arrière-plan et l'avant-plan que l'on peut changer avec default :

setterm --background default

Pour changer la couleur par défaut, ajoutez le --store option (qui émet une séquence de contrôle qui ne fonctionne qu'avec l'émulateur de terminal intégré du noyau Linux) :

setterm --background red --store

Voir man setterm et setterm --help pour plus de détails.


Avec xterm -comme les émulateurs de terminaux, vous pouvez utiliser :

xtermcontrol --bg blue

(blue ou toute spécification de couleur prise en charge par XParseColor(3x) ).

Cela envoie en fait un \33]11;blue\7 séquence, vous pouvez donc faire la même chose avec :

printf '\33]11;%s\a' blue

Voir Commandes du système d'exploitation, dans le document XTerm Control Sequences pour plus de détails.


Linux
  1. La commande Rm dans le script Bash ne fonctionne pas avec la variable ?

  2. Python est-il synchronisé ?

  3. Que fait 'bash -c' ?

  4. Exécutez la commande bash sur le pipeline jenkins

  5. Comment définir la couleur de l'invite de commande dans Bash ?

Commande de lecture bash

Bash Heredoc

Commande de source bash

Commande d'historique sous Linux (historique de bash)

Commande Bash printf

Script bash (II)