Absolument. De plus l'utilisation de séquence de contrôle n'est pas super portable non plus, le moins serait de vérifier que la variable d'environnement mentionne un des émulateurs de terminal les plus courants qui comprennent ses variables.
# monprog_terminal_has_ansi_sequence_support
# Cheap detection of ANSI sequence support
monprog_terminal_has_ansi_sequence_support()
{
case "${TERM}" in
vt100*|xterm*)
printf 'yes';;
*)
printf 'no';;
esac
}
# prerr PRINTF-LIKE-ARGV
# Print error
prerr()
{
if [ "${monprog_fruit_salad_output}" = 'yes' ]; then
{
printf '033円[1;31mError: '
printf "$@"
printf '033円[0m\n'
} 1>& 2
else
{
printf 'Error: '
printf "$@"
printf '\n'
} 1>& 2
fi
}
monprog_fruit_salad_output=$(monprog_terminal_has_ansi_sequence_support)
prerr 'SSL certificate generation failed.'
C'est un exemple, mais il y a plein d'autres façons de faire. Notamment on peut utiliser un filtre sur la sortie d'erreur qui ajoute les couleurs. C'est cependant une bonne idée d'écrire quelques fonctions spécialisées pour l'écriture de message diagnostic, cela aide à avoir des messages cohérents.
[^] # Re: Ne pas utiliser echo
Posté par Michaël (site web personnel) . En réponse au message Paquet debian 8 et commande echo. Évalué à 3. Dernière modification le 11 janvier 2017 à 14:00.
Absolument. De plus l'utilisation de séquence de contrôle n'est pas super portable non plus, le moins serait de vérifier que la variable d'environnement mentionne un des émulateurs de terminal les plus courants qui comprennent ses variables.
C'est un exemple, mais il y a plein d'autres façons de faire. Notamment on peut utiliser un filtre sur la sortie d'erreur qui ajoute les couleurs. C'est cependant une bonne idée d'écrire quelques fonctions spécialisées pour l'écriture de message diagnostic, cela aide à avoir des messages cohérents.