Bash
Kleurenscriptuitvoer (platformoverschrijdend)
Zoeken…
Opmerkingen
tput
vraagt in de terminfo-database naar terminalafhankelijke informatie.
Van tput op Wikipedia :
Bij computergebruik is
tput
een standaard Unix-besturingssysteemopdracht die gebruik maakt van terminalmogelijkheden.Afhankelijk van het systeem gebruikt
tput
de terminfo- of termcap-database en kijkt het in de omgeving voor het type terminal.
van Bash Prompt HOWTO: Hoofdstuk 6. ANSI Escape-sequenties: kleuren en cursorbeweging :
tput setab [1-7]
- Stel een achtergrondkleur in met ANSI escape
tput setb [1-7]
- Stel een achtergrondkleur in
tput setaf [1-7]
- Stel een voorgrondkleur in met ANSI escape
tput setf [1-7]
- Stel een voorgrondkleur in
tput vetgedrukt
- Stel de vetmodus in
tput sgr0
- Schakel alle attributen uit (werkt niet helemaal zoals verwacht)
color-output.sh
In de openingssectie van een bash-script is het mogelijk om enkele variabelen te definiëren die als helpers dienen om de terminaloutput tijdens de uitvoering van het script te kleuren of anders op te maken.
Verschillende platforms gebruiken verschillende tekenreeksen om kleur uit te drukken. Er is echter een hulpprogramma genaamd tput
dat op alle * nix-systemen werkt en platformspecifieke terminal-kleuringsstrings retourneert via een consistente platformonafhankelijke API.
Om bijvoorbeeld de tekenreeks op te slaan die de terminaltekst rood of groen maakt:
red=$(tput setaf 1) green=$(tput setaf 2)
Of om de tekenreeks op te slaan die de tekst terugzet naar de standaardweergave:
reset=$(tput sgr0)
Als het BASH-script vervolgens uitvoer in verschillende kleuren moest weergeven, kan dit worden bereikt met:
echo "${green}Success!${reset}"
echo "${red}Failure.${reset}"