Bash
Output di script a colori (multipiattaforma)
Ricerca…
Osservazioni
tput
interroga il database terminfo per informazioni dipendenti dal terminale.
Da tput su Wikipedia :
In informatica,
tput
è un comando standard del sistema operativo Unix che sfrutta le capacità del terminale.A seconda del sistema,
tput
utilizza il database terminfo o termcap, oltre a esaminare l'ambiente per il tipo di terminale.
da Bash Prompt HOWTO: Capitolo 6. Sequenze di escape ANSI: colori e movimento del cursore :
tput setab [1-7]
- Imposta un colore di sfondo usando l'escape ANSI
tput setb [1-7]
- Imposta un colore di sfondo
tput setaf [1-7]
- Imposta un colore di primo piano usando l'escape ANSI
tput setf [1-7]
- Imposta un colore di primo piano
tput grassetto
- Imposta la modalità grassetto
tput sgr0
- Disattiva tutti gli attributi (non funziona come previsto)
color-output.sh
Nella sezione di apertura di uno script bash, è possibile definire alcune variabili che fungono da helper per colorare o altrimenti formattare l'output del terminale durante l'esecuzione dello script.
Diverse piattaforme utilizzano sequenze di caratteri diverse per esprimere il colore. Tuttavia, esiste un'utilità chiamata tput
che funziona su tutti i sistemi * nix e restituisce stringhe di colorazione dei terminali specifiche della piattaforma tramite tput
API multipiattaforma.
Ad esempio, per memorizzare la sequenza di caratteri che trasforma il testo del terminale rosso o verde:
red=$(tput setaf 1) green=$(tput setaf 2)
Oppure, per memorizzare la sequenza di caratteri che ripristina il testo all'aspetto predefinito:
reset=$(tput sgr0)
Quindi, se lo script BASH dovesse mostrare diversi output colorati, questo può essere ottenuto con:
echo "${green}Success!${reset}"
echo "${red}Failure.${reset}"