Dans les scripts Linux un peu de couleur, ça fait du bien, Voir d’un coup d’oeil où il y a une erreur c’est top pour diagnostiquer rapidement. Alors hop' voici une fonction toute faite qui vous ajoute un encart de status.
Fonctions #
Mise en forme textuel avec couleur - Type bannière #
Dépendance Necessite la fonction
Write-Color
du point précédent.
function Write-Banner()
{
local code="$1"
shift
local message="$@"
case "$code" in
ok|OK)
fg_color='\e[1m[\e[32m OK \e[0m\e[1m]\e[0m - '
;;
VALID|valid)
fg_color='\e[1m[\e[32mVALID\e[0m\e[1m]\e[0m - '
;;
ko|KO)
fg_color='\e[1m[\e[31m KO \e[0m\e[1m]\e[0m - '
;;
ERROR|error)
fg_color='\e[1m[\e[31mERRO\e[0m\e[1m]\e[0m - '
;;
WARNINGwarning|warn|WARN)
fg_color='\e[1m[\e[33mWARN\e[0me[1m]\e[0m - '
;;
DEBUG|debug)
fg_color='\e[1m[\e[35mDEBUG\e[0m\e[1m]\e[0m - '
;;
INFO|info)
fg_color='\e[1m[\e[94mINFO\e[0m\e[1m]\e[0m - '
;;
"")
printf >&2 "%s\n" \
"do:" \
"$0 (OK|KO|WARNING|DEBUG|INFO) - Votre message";
;;
*)
fg_color=''
;;
esac
echo -e "${fg_color}$message"
}
Cas d’utilisation #
Voici un bout de code bonus qui détail l’execution d’une commande donnée avec l’affichage du retour si c’est OK ou KO en récupérant cette fameuse fonction de code coloré sous forme de bannière:
function RUN_CMD ()
{
Write-Banner "INFO" "Commande executée:"
echo "$@"
echo '----------'
"$@"
RETURN_CODE=$?
echo '----------'
#printf '%s\n' "$@"
[ $RETURN_CODE -eq 0 ] && Write-Banner "OK" "Commande exécutée avec succès (${RETURN_CODE})" || Write-Banner "DEBUG" "Code retour: ${RETURN_CODE}" && exit 1
}
RUN_CMD tar -czvf ./dmesg.tar.gz /var/log/dmesg*
Voici le résultat:

Version pour Powershell:
Version pour Python: