web-dev-qa-db-fra.com

Comment faire: souligner, gras, italique, barré, couleur, arrière-plan et taille dans Gnome Terminal?

Comment faire: souligner, gras, italique, barré et couleur dans Gnome Terminal?

Gras

italique

souligner

st̶r̶i̶k̶e̶ ̶i̶t̶ ̶l̶i̶k̶̶e i̶t̶s̶ h̶o̶t

Couleur

backgroundname__

font<(son mono si vous ne le savez pas)

taille

50
Akiva

Les terminaux et les émulateurs de terminaux ANSI/VT100 ne sont pas seulement capables d’afficher du texte en noir et blanc; ils peuvent afficher des couleurs et des textes formatés grâce à des séquences d'échappement. Ces séquences sont composées du caractère Escape (souvent représenté par "^ [" ou "Esc") suivi de quelques autres caractères: "Esc [FormatCodem".

Dans Bash, le caractère peut être obtenu avec les syntaxes suivantes:

\e
\033
\x1B

enter image description here

Les commandes (pour un copier-coller facile):

echo -e "\e[1mbold\e[0m"
echo -e "\e[3mitalic\e[0m"
echo -e "\e[4munderline\e[0m"
echo -e "\e[9mstrikethrough\e[0m"
echo -e "\e[31mHello World\e[0m"
echo -e "\x1B[31mHello World\e[0m"

Source (y compris tous les types de codes de couleur de premier plan/d’arrière-plan): http://misc.flogisoft.com/bash/tip_colors_and_formatting

67
Sylvain Pineau

Pour prolonger la réponse de Sylvain, quelques fonctions d'assistance:

ansi()          { echo -e "\e[${1}m${*:2}\e[0m"; }
bold()          { ansi 1 "$@"; }
italic()        { ansi 3 "$@"; }
underline()     { ansi 4 "$@"; }
strikethrough() { ansi 9 "$@"; }
red()           { ansi 31 "$@"; }

Ensuite

enter image description here

24
glenn jackman

Quelque chose qui n’a pas encore été couvert est le combinaison de deux ou trois paramètres, e. g. gras et souligné , dans une couleur prédéfinie. Ceci est réalisé par une syntaxe à 3 voies, par exemple:

~$ printf "\e[3;4;33mthis is a test\n\e[0m"

"Ceci est un test" sera imprimé en jaune (33m), en italique (3m) ET souligné (4m).
Notez qu'il est pas nécessaire pour répéter le \e[ à chaque fois.
Notez aussi que (comme Sylvain), j’ai aussi ajouté un \e[0m pour réinitialiser les réglages à chaque fois, sinon la couleur jaune et le style de police resteront actifs dans le terminal! Inutile de dire que vous devez absolument faire attention à cela pour qu'il soit réinitialisé dans les scripts, car les utilisateurs qui utilisent vos scripts risquent de ne pas l'apprécier si votre script est modifié en permanence leur couleur + paramètres de style dans le terminal!

18
syntaxerror

GNOME Terminal 3.28 (VTE 0.52), qui fait ses débuts dans Ubuntu 18.04 LTS, ajoute un support pour un peu plus de styles, y compris les soulignements bouclés et colorés comme dans Kitty, les traits comme dans Konsole, et enfin l'attribut de blink tant aimé ou tant détesté de tous.

Ceux-ci fonctionnent également automatiquement dans tout autre émulateur de terminal basé sur VTE (par exemple, Tilix, Terminator, Xfce4-terminal, Guake, etc.), étant donné que VTE est au moins à la version 0.52.

Voici une liste illustrant les séquences d'échappement standard, ainsi que les ajouts du terminal GNOME (VTE). Notez que pour chaque séquence d'ouverture, je montre également la séquence de fermeture de cette propriété uniquement, plutôt que le générique \e[m ou \e[0m qui désactive tous les modes spéciaux.

echo -e '\e[1mbold\e[22m'
echo -e '\e[2mdim\e[22m'
echo -e '\e[3mitalic\e[23m'
echo -e '\e[4munderline\e[24m'
echo -e '\e[4:1mthis is also underline (new in 0.52)\e[4:0m'
echo -e '\e[21mdouble underline (new in 0.52)\e[24m'
echo -e '\e[4:2mthis is also double underline (new in 0.52)\e[4:0m'
echo -e '\e[4:3mcurly underline (new in 0.52)\e[4:0m'
echo -e '\e[5mblink (new in 0.52)\e[25m'
echo -e '\e[7mreverse\e[27m'
echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)'
echo -e '\e[9mstrikethrough\e[29m'
echo -e '\e[53moverline (new in 0.52)\e[55m'

echo -e '\e[31mred\e[39m'
echo -e '\e[91mbright red\e[39m'
echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m'
echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m'
echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) (new in 0.52)\e[39m'
echo -e '\e[38:2:240:143:104mtruecolor, rarely used incorrect format (might be removed at some point)\e[39m'
echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m'

echo -e '\e[46mcyan background\e[49m'
echo -e '\e[106mbright cyan background\e[49m'
echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m'
echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m'
echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) (new in 0.52)\e[49m'
echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m'
echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m'

echo -e '\e[21m\e[58:5:42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[21m\e[58;5;42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[4:3m\e[58:2::240:143:104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58:2:240:143:104mtruecolor underline (new in 0.52) (might be removed at some point) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'

(*) Les valeurs truecolor du soulignement sont légèrement approximées.

Et un peu étrange qui ne rentre pas dans cette image, car il s’agit plus d’une fonctionnalité que d’un style, mais il vaut probablement la peine de le mentionner ici, est lien hypertexte support co-conçu avec iTerm2, disponible depuis Terminal GNOME 3.26 (VTE 0.50):

echo -e '\e]8;;http://askubuntu.com\e\\hyperlink\e]8;;\e\\'

Voici une capture d'écran démontrant le résultat: Rendering in gnome-terminal 3.28

12
egmont