J'écris un script Bash qui imprime du texte à l'écran:
echo "Some Text"
Puis-je formater le texte? Je voudrais le mettre en gras.
bash
console
formatting
echo
JamesRat
la source
la source
tput smul
tput
est une excellente commande avec beaucoup de commandes pour de nombreuses tâches différentes.motd
fichier. Comment / où définirais-je les variables$bold
et$normal
dans ce cas?Afin d'appliquer un style à votre chaîne, vous pouvez utiliser une commande comme:
Explication:
-e
option signifie que les chaînes échappées (contre-obliques) seront interprétéesLes entiers possibles sont:
la source
[0m
offre et cela l'explique bien\033[0m
3
- italique , au moins à konsoleJe suppose que bash s'exécute sur un terminal compatible vt100 dans lequel l'utilisateur n'a pas explicitement désactivé la prise en charge du formatage.
Tout d'abord, activez la prise en charge des caractères spéciaux dans
echo
, en utilisant l'-e
option. Plus tard, utilisez la séquence d'échappement ansiESC[1m
, comme:Plus d'informations sur les séquences d'échappement ansi par exemple ici: ascii-table.com/ansi-escape-sequences-vt-100.php
la source
echo -e "\033[1mSome Text\033[0m"
sinon les lignes suivantes de votre terminal seront également en gras\033
vous souvenir que vous pouvez utiliser\e
commeecho -e "\e[1msome text\e[0m"
En théorie comme ça:
Mais dans la pratique, elle peut être interprétée comme une couleur de «haute intensité».
(source: http://unstableme.blogspot.com/2008/01/ansi-escape-sequences-for-writing-text.html )
la source