Utilizzare tput per la formattazione del terminale

Scritto da il
❇️ Trucco del giorno

formattiamo l’output del terminale con tput

in genere basta utilizzarlo in subshell davanti le stringhe che dobbiamo formattare, ad esempio per il grassetto:

echo "testo $(tput bold)testo in grassetto$(tput sgr0) testo normale"

l’attributo sgr0 alla fine serve per far tornare il testo normale. Ora vediamo un attimo quali attributi sono suportati:

sgr0 Testo normale bold grassetto smul sottolineato (come ul) rmul fine sotolineatura smso inizia ad evidenziare il testo rmso finisce di evidenziare rev inverti i colori del testo blink il testo diventa visibile ad intermittenza invis il testo diventa invisibile

Da scrivere potrebbe essere un po’ scomodo, quindi consiglio di mettere i vari comandi in una variabile, tipo:

nrml=$(tput sgr0);
und=$(tput smul) ;
echo "questo è un testo "$und"sottolineato"$nrml" e questo no"