From ce9e9e5d02f13015b35b096269a12e1f19fe4eee Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Wed, 27 Mar 2024 04:47:26 +0400 Subject: [PATCH] modifs.mineures sans commentaires --- bash/src/base.output.sh | 95 +++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 46 deletions(-) diff --git a/bash/src/base.output.sh b/bash/src/base.output.sh index d2e8c07..e12dfe9 100644 --- a/bash/src/base.output.sh +++ b/bash/src/base.output.sh @@ -106,50 +106,6 @@ function tooenc_() { } function uecho_() { tooenc_ "$*"; } -# faut-il dater les messages des fonctions e* et action? -# Faire NULIB_ELOG_DATE=1 en début de script pour activer cette fonctionnalité -# faut-il rajouter aussi le nom du script? (nécessite NULIB_ELOG_DATE) -# Faire NULIB_ELOG_MYNAME=1 en début de script pour activer cette fonctionnalité -export NULIB_ELOG_DATE NULIB_ELOG_MYNAME -function __edate() { - [ -n "$NULIB_ELOG_DATE" ] || return - local prefix="$(date +"[%F %T.%N] ")" - [ -n "$NULIB_ELOG_MYNAME" ] && prefix="$prefix$MYNAME " - echo "$prefix" -} - -export NULIB_ELOG_OVERWRITE -function __set_no_colors() { :; } -function elogto() { -# Activer NULIB_ELOG_DATE et rediriger STDOUT et STDERR vers le fichier $1 -# Si deux fichiers sont spécifiés, rediriger STDOUT vers $1 et STDERR vers $2 -# Si aucun fichier n'est spécifié, ne pas faire de redirection -# Si la redirection est activée, forcer l'utilisation de l'encoding UTF8 -# Si NULIB_ELOG_OVERWRITE=1, alors le fichier en sortie est écrasé. Sinon, les -# lignes en sortie lui sont ajoutées - NULIB_ELOG_DATE=1 - NULIB_ELOG_MYNAME=1 - if [ -n "$1" -a -n "$2" ]; then - LANG=fr_FR.UTF8 - NULIB_OUTPUT_ENCODING="$NULIB__UTF8" - __set_no_colors 1 - if [ -n "$NULIB_ELOG_OVERWRITE" ]; then - exec >"$1" 2>"$2" - else - exec >>"$1" 2>>"$2" - fi - elif [ -n "$1" ]; then - LANG=fr_FR.UTF8 - NULIB_OUTPUT_ENCODING="$NULIB__UTF8" - __set_no_colors 1 - if [ -n "$NULIB_ELOG_OVERWRITE" ]; then - exec >"$1" 2>&1 - else - exec >>"$1" 2>&1 - fi - fi -} - export NULIB_QUIETLOG export NULIB__TMPLOG function: quietc "\ @@ -196,6 +152,50 @@ function quietc_echo() { fi } +# faut-il dater les messages des fonctions e* et action? +# Faire NULIB_ELOG_DATE=1 en début de script pour activer cette fonctionnalité +# faut-il rajouter aussi le nom du script? (nécessite NULIB_ELOG_DATE) +# Faire NULIB_ELOG_MYNAME=1 en début de script pour activer cette fonctionnalité +export NULIB_ELOG_DATE NULIB_ELOG_MYNAME +function __edate() { + [ -n "$NULIB_ELOG_DATE" ] || return + local prefix="$(date +"[%F %T.%N] ")" + [ -n "$NULIB_ELOG_MYNAME" ] && prefix="$prefix$MYNAME " + echo "$prefix" +} + +export NULIB_ELOG_OVERWRITE +function __set_no_colors() { :; } +function elogto() { +# Activer NULIB_ELOG_DATE et rediriger STDOUT et STDERR vers le fichier $1 +# Si deux fichiers sont spécifiés, rediriger STDOUT vers $1 et STDERR vers $2 +# Si aucun fichier n'est spécifié, ne pas faire de redirection +# Si la redirection est activée, forcer l'utilisation de l'encoding UTF8 +# Si NULIB_ELOG_OVERWRITE=1, alors le fichier en sortie est écrasé. Sinon, les +# lignes en sortie lui sont ajoutées + NULIB_ELOG_DATE=1 + NULIB_ELOG_MYNAME=1 + if [ -n "$1" -a -n "$2" ]; then + LANG=fr_FR.UTF8 + NULIB_OUTPUT_ENCODING="$NULIB__UTF8" + __set_no_colors 1 + if [ -n "$NULIB_ELOG_OVERWRITE" ]; then + exec >"$1" 2>"$2" + else + exec >>"$1" 2>>"$2" + fi + elif [ -n "$1" ]; then + LANG=fr_FR.UTF8 + NULIB_OUTPUT_ENCODING="$NULIB__UTF8" + __set_no_colors 1 + if [ -n "$NULIB_ELOG_OVERWRITE" ]; then + exec >"$1" 2>&1 + else + exec >>"$1" 2>&1 + fi + fi +} + # variables utilisées pour l'affichage indenté des messages et des titres # NULIB__ESTACK est la liste des invocations de 'etitle' et 'action' en cours export NULIB__ESTACK NULIB__INDENT= @@ -516,11 +516,13 @@ function action() { local r=0 if [ $# -gt 0 ]; then [ -z "$NULIB__TMPLOG" ] && ac_set_tmpfile NULIB__TMPLOG + [ -n "$action" ] && quietc_echo "$(__edate) ACTION: $action:" "$@" >&"$NULIB__TMPLOG"; r=$? [ -n "$NULIB_QUIETLOG" ] && cat "$NULIB__TMPLOG" >>"$NULIB_QUIETLOG" if [ $r -ne 0 -o -n "$NULIB_DEBUG" ]; then NULIB__ESTACK="$NULIB__ESTACK:a" - __action "$action:" 1>&2 + [ -n "$action" ] && action="$action:" + __action "$action" 1>&2 cat "$NULIB__TMPLOG" aresult $r else @@ -534,7 +536,8 @@ function action() { fi else NULIB__ESTACK="$NULIB__ESTACK:a" - __action "$action:" 1>&2 + [ -n "$action" ] && action="$action:" + __action "$action" 1>&2 fi eval "$NULIB__ENABLE_SET_X" }