Browse code

"MaJ version socle"

Doug Le Tough authored on 26/11/2017 10:42:37
Showing 2 changed files
... ...
@@ -2,8 +2,8 @@
2 2
 ## Script         : message.lib
3 3
 ## Module Puppet  : gnc-script_core_dtsi
4 4
 ## Auteur         : Emmanuel Confrere
5
-## Date           : 29-06-2017
6
-## Version        : 1.2.1
5
+## Date           : 31-08-2017
6
+## Version        : 1.3.5
7 7
 ## Objet          : Gestion des message sur la console et dans les divers fichiers de trace
8 8
 ##           
9 9
 ## Fonction       : fct_message
... ...
@@ -37,28 +37,52 @@
37 37
 # 1.2.0    13-04-2017 - Emmanuel Confrere - Evo : Journalisation du compte d execution dans l historique
38 38
 # 1.2.1    29-06-2017 - Emmanuel Confrere - Ano : Fonctionnement inattendu sous Bash 3.2.25
39 39
 #                                                 la fonction logname ne renvoi rien ?
40
-# 1.2.2    20-11-2017 - Doug Le Tough     - Evo : Modification du format de la date afin qu'il soit independant
41
-#                                                 de la locale utilisee.
40
+# 1.3.0    07-08-2017 - Emmanuel Confrere - Evo : Optimisation performance - Suppression des comparaisons de chaine.
41
+#                                                 Correction Anomalie de l option -debug si mode interactif
42
+# 1.3.1    10-08-2017 - Emmanuel Confrere - Ano : En mode interactif, l option debug ne limite pas l affichage
43
+#                                                 en fonction du niveau positionnee sur le shell et celui du
44
+#                                                 message !
45
+#                                                 Correction et optimisation du traitement.
46
+# 1.3.2    21/08/2017 - Emmanuel Confrere - Ano : En mode interactif affiche systematiquement les message debug
47
+#                                                 de niveau zero. Meme si SH_NIV_DEBUG n est pas initialise !
48
+#                                                 Correction pour que l affichage ne soit effectif que si 
49
+#                                                 la variable SH_NIV_DEBUG est initialise dans le shell courant.
50
+# 1.3.3    31-08-2017 - Emmanuel Confrere - Ano : Dans le cas d un message contruit avec un tableau de cette facon ${A[@]}
51
+#                                                 la libraire considere qu il sagit de plusieur argument et 
52
+#                                                 tronque le message.
53
+#                                                 Pour corriger nous concatenons les messages avec un espace separateur.
54
+#                                                 pour eviter la concatenation si cette derniere pose probleme
55
+#                                                 presenter le message avec une variable tampon :
56
+#                                                        B="${A[@]}"
57
+#                                                        fct_message "coucou ${B} ..."
58
+# 1.3.4    31-08-2017 - Emmanuel Confrere - Ano : Introduction d une anomalie !
59
+#                                                 Erreur de syntaxe
60
+# 1.3.5    31-08-2017 - Emmanuel Confrere - Ano : Introduction d une autre ano !
61
+#                                                 Format de sortie modifier (ajout systematique d un espace)
42 62
 ##----------------------------------------------------------------------------
43 63
 
44 64
 function fct_message
45 65
 {
46
-local L_TEXT=""                               # Texte a afficher
47
-local L_TIME_STAMP=`date "+%Y%m%d %H:%M:%S"`  # Horrodatage a ajouter au texte
48
-local L_EXISTE_REP
49
-local L_NB_PARAM=0                            # Nb de parametre de la ligne de commande
66
+local L_TEXT=""                          # Texte a afficher
67
+local L_TIME_STAMP=`date "+%x %X"`       # Horrodatage a ajouter au texte
68
+local L_INTER=0                          # Mode interactif 0->non, 1->oui
69
+local L_EXISTE_REP                       # Controle l existance des repertoire de socle 0->OK 1->NOK
70
+local L_NB_PARAM=0                       # Nb de parametre de la ligne de commande
50 71
 local L_TMP
51 72
 local L_TMP2
52
-local L_OPT                                   # Nom des option 
53
-local L_OPTION_DBG="non"                      # Message de debug
54
-local L_OPTION_SID=""                         # Affichage du SH_SESSION_IDP a l ecran
55
-local L_NIV_DEBUG=0                           # Niveau de trace par defaut 0=aucune
56
-local L_OPTION_CPT="non"                      # Message de compte rendu
57
-local L_OPTION_HIST="non"                     # Message pour l historique
58
-local L_COULEUR=""                            # Couleur du texte avec l option -color
59
-local L_OPTION_COULEUR="non"
73
+local L_OPT                              # Nom des option 
74
+local L_OPTION_DBG=0                     # Message de debug
75
+local L_OPTION_SID=""                    # Affichage du SH_SESSION_IDP a l ecran
76
+local L_NIV_DEBUG=0                      # Niveau de trace par defaut 0=aucune
77
+local L_OPTION_CPT=0                     # Message de compte rendu
78
+local L_OPTION_HIST=0                    # Message pour l historique
79
+local L_COULEUR=""                       # Couleur du texte avec l option -color
80
+local L_OPTION_COULEUR=0
60 81
 local L_LIST_COULEUR="noir:0;30 rouge:0;31 vert:0;32 jaune:1;33 bleu:1;34 rose:0;35 cyan:0;36 gris:0;37 orange:0;33 blanc:1;37 "
61 82
 
83
+# - Mode interactif ?
84
+[ -z "${SH_SESSION_ID}" ] && L_INTER=1
85
+
62 86
 # - recuperation des parametres en entree
63 87
 L_TMP=1
64 88
 L_NB_PARAM=$#
... ...
@@ -66,10 +90,10 @@ while [ ${L_TMP} -le ${L_NB_PARAM} ]
66 66
 do
67 67
  L_OPT="$1"
68 68
  case "${L_OPT}" in
69
-  "-cpt")   L_OPTION_CPT="oui" ;;
70
-  "-nolog") L_OPTION_NOLOG="oui" ;;
71
-  "-hist")  L_OPTION_HIST="oui" ;;
72
-  "-color") L_OPTION_COULEUR="oui"
69
+  "-cpt")   L_OPTION_CPT=1 ;;
70
+  "-nolog") L_OPTION_NOLOG=1 ;;
71
+  "-hist")  L_OPTION_HIST=1 ;;
72
+  "-color") L_OPTION_COULEUR=1
73 73
             L_ARG=`echo $2|tr A-Z a-z`
74 74
             L_TMP2=${L_ARG:0:1}
75 75
             if [ "${L_TMP2}" != "-" ]
... ...
@@ -77,12 +101,12 @@ do
77 77
                 # on recherche la correspondance numerique de la couleur
78 78
                 L_COULEUR=`echo ${L_LIST_COULEUR}|sed "s/.*${L_ARG}:\([0-1];3[0-7]\) .*/\1/"`
79 79
                 # Si on ne la trouve pas on annule la colorisation
80
-                [ ${#L_COULEUR} -ne 4 ] && L_OPTION_COULEUR="non"
80
+                [ ${#L_COULEUR} -ne 4 ] && L_OPTION_COULEUR=0
81 81
                 L_TMP=$(( ${L_TMP} + 1 ))
82 82
                 shift
83 83
             fi ;;
84 84
 
85
-  "-debug") L_OPTION_DBG="oui"
85
+  "-debug") L_OPTION_DBG=1
86 86
             L_ARG="$2"
87 87
             L_TMP2=${L_ARG:0:1}
88 88
             if [ "${L_TMP2}" != "-" ]
... ...
@@ -100,56 +124,49 @@ do
100 100
             else
101 101
 			    L_NIV_DEBUG=1
102 102
             fi 
103
-            [ ${L_NIV_DEBUG} -gt ${SH_NIV_DEBUG} ] && return 0 ;;
104
-        *) L_TEXT="${L_OPT}" ;;
103
+            [ ${L_NIV_DEBUG} -gt 0${SH_NIV_DEBUG} -o -z "${SH_NIV_DEBUG}" ] && return 0 ;;
104
+        *) [ -z "${L_TEXT}" ] && L_TEXT="${L_OPT}" || L_TEXT="${L_TEXT} ${L_OPT}" ;;
105 105
  esac
106 106
  L_TMP=$(( ${L_TMP} + 1 ))
107 107
  shift
108 108
 done
109 109
 
110
-# - controle que la fonction est lance depuis un shell
111
-if [ -z "${SH_SESSION_ID}" ]
110
+# - Controle du mode d execution ...
111
+if (( ${L_INTER} ))
112 112
 then
113
-    # -- La fonction est executer en mode inetractif (Pas dans un shell)
114
-    # -- on autorise alors que l affichage sur la sortie standard
115
-    SH_AFF_SID="non"
116
-    SH_SILENCE="non"
117
-    SH_NIV_DEBUG=0
118
-    L_EXISTE_REP=1
113
+    # -- La fonction est executer en mode interactif (Pas dans un script du socle)
114
+    # -- on autorise alors uniquement l affichage sur la sortie standard
115
+    L_EXISTE_REP=0
119 116
 else
120 117
     # - Mode shell...
121 118
     # - On control l'existance des repertoires
122
-    [ -d ${NC_EXPL_HST} -a -d ${NC_EXPL_LOG} -a -d ${NC_EXPL_CPT} ] &&  L_EXISTE_REP=0 || L_EXISTE_REP=1
119
+    [ -d ${NC_EXPL_HST} -a -d ${NC_EXPL_LOG} -a -d ${NC_EXPL_CPT} ] &&  L_EXISTE_REP=1 || L_EXISTE_REP=0
123 120
 fi
124 121
 
125 122
 # - initialisation des variables
126 123
 [ "${SH_AFF_SID}" = "oui" ] && L_OPTION_SID="[${SH_SESSION_IDP}]  "
127
-L_OPTION_NOLOG=${L_OPTION_NOLOG:="non"}
124
+L_OPTION_NOLOG=${L_OPTION_NOLOG:=0}
128 125
 
129 126
 # - Ecriture des messages
130 127
 # - Ajout d une indentation si elle est definie
131 128
 [ -n "${SH_INDENT_MSG}" ] && L_TEXT="${SH_INDENT_MSG} ${L_TEXT}"
132
-if [ "${L_OPTION_DBG}" = "oui" ]
129
+if (( ${L_OPTION_DBG} ))
133 130
 then
134
-	[ ${L_EXISTE_REP} -eq 0 ] && echo "${L_TIME_STAMP} [${SH_SESSION_IDP}] : <Debug_${L_NIV_DEBUG}> ${L_TEXT}" >> ${SH_FICLOG}
131
+	(( ${L_EXISTE_REP} & ! ${L_INTER} )) && echo "${L_TIME_STAMP} [${SH_SESSION_IDP}] : <Debug_${L_NIV_DEBUG}> ${L_TEXT}" >> ${SH_FICLOG}
132
+    (( ${L_INTER} )) && echo "<Debug_${L_NIV_DEBUG}> ${L_TEXT}"
135 133
 else
136
-    [ ${L_EXISTE_REP} -eq 0 -a "${L_OPTION_CPT}" = "oui" -a "${L_OPTION_HIST}" = "non" ] && echo "${L_TIME_STAMP} : ${L_TEXT}" >> ${SH_FICCPT}
137
-    [ ${L_EXISTE_REP} -eq 0 -a "${L_OPTION_CPT}" = "non" -a "${L_OPTION_HIST}" = "oui" ] && echo "${L_TIME_STAMP} : ${SH_LOGUSER} : ${SH_EXECUSER} : ${L_TEXT}" >> ${SH_FICTRC}
138
-    if [ "${L_OPTION_NOLOG}" = "non" ]
134
+    (( ${L_EXISTE_REP} & ${L_OPTION_CPT} & ! ${L_OPTION_HIST} )) && echo "${L_TIME_STAMP} : ${L_TEXT}" >> ${SH_FICCPT}
135
+    (( ${L_EXISTE_REP} & ! ${L_OPTION_CPT} & ${L_OPTION_HIST} )) && echo "${L_TIME_STAMP} : ${SH_LOGUSER} : ${SH_EXECUSER} : ${L_TEXT}" >> ${SH_FICTRC}
136
+    if (( ! ${L_OPTION_NOLOG} ))
139 137
     then
140
-        [ ${L_EXISTE_REP} -eq 0 -a "${L_OPTION_CPT}" = "non" -a "${L_OPTION_HIST}" = "non" ] && echo "${L_TIME_STAMP} [${SH_SESSION_IDP}] : ${L_TEXT}" >> ${SH_FICLOG}
141
-        [ ${L_EXISTE_REP} -eq 0 -a "${L_OPTION_CPT}" = "oui" -a "${L_OPTION_HIST}" = "oui" ] && echo "${L_TIME_STAMP} : ${L_TEXT}" >> ${SH_FICLOG}	
138
+        (( ! ${L_INTER} & ${L_EXISTE_REP} & ! ${L_OPTION_CPT} & ! ${L_OPTION_HIST} )) && echo "${L_TIME_STAMP} [${SH_SESSION_IDP}] : ${L_TEXT}" >> ${SH_FICLOG}
139
+        (( ! ${L_INTER} & ${L_EXISTE_REP} &   ${L_OPTION_CPT} &   ${L_OPTION_HIST} )) && echo "${L_TIME_STAMP} : <lib:fct_message> : Option -cpt et -hist ! - ${L_TEXT}" >> ${SH_FICLOG}	
142 140
     fi
143
-    if [ "${SH_SILENCE}" = "non" -a "${L_OPTION_HIST}" = "non" ]
141
+    if [ \( "${SH_SILENCE}" = "non" -a "${L_OPTION_HIST}" = 0 \) -o ${L_INTER} -eq 1 ]
144 142
     then
145
-        if [ "${L_OPTION_COULEUR}" = "oui" ]
146
-        then
147
-            echo -e "${L_OPTION_SID}\033[${L_COULEUR}m${L_TEXT}\033[0m"
148
-        else
149
-            echo -e "${L_OPTION_SID}${L_TEXT}"
150
-        fi
143
+        (( ${L_OPTION_COULEUR} )) && echo -e "${L_OPTION_SID}\033[${L_COULEUR}m${L_TEXT}\033[0m" || echo -e "${L_OPTION_SID}${L_TEXT}"
151 144
     fi
152 145
 fi
153 146
 return 0
154 147
 }
155
-typeset -Ffx fct_message
148
+typeset -Ffx fct_message
156 149
\ No newline at end of file
... ...
@@ -2,8 +2,8 @@
2 2
 ## Script         : params.lib
3 3
 ## Module Puppet  : gnc-script_core_dtsi
4 4
 ## Auteur         : Emmanuel Confrere
5
-## Date           : 05-07-2017
6
-## Version        : 2.2.2
5
+## Date           : 26-11-2017
6
+## Version        : 3.0.1
7 7
 ## Objet          : Gere les options passees a un script
8 8
 ##                  qui ont ete declare dans l entete de ce dernier
9 9
 ##           
... ...
@@ -43,7 +43,12 @@
43 43
 # 2.2.1    13-04-2017 - Emmanuel Confrere - Ano : Prise en compte de la journalisation avec l option -log
44 44
 #                                                 Compatibilite ascendente n etait pas assuree.
45 45
 # 2.2.2    05-07-2017 - Emmanuel Confrere - Ano : Lorsque des option possede une inclusion la librairie entre dans une boucle infinie !
46
-# 2.2.3    21-11-2017 - Doug Le Tough     - Ano : La construction de L_PARMF ne permettait pas de differencier les differentes execution d'un meme script
46
+# 3.0.0    26-07-2018 - Emmanuel Confrere - Evo : Changement conceptuel sur la gestion des valeurs par defaut
47
+#                                                 Correction de l analyse des arguments declare par "@ARG:", seul la derniere declaration 
48
+#                                                 est prise en compte.
49
+#                                                 Les variables SH_ARGS et SH_ARG_<option> ou leur representant defini dans la declaration
50
+#                                                 des option et argument (@ARG: et @OPT:) peuvent etre surcharge dans le fichier de configuration.
51
+# 3.0.1    26-11-2017 - Doug Le Tough     - Ano : La construction de L_PARMF ne permet pas de differencier les differentes execution d'un meme script
47 52
 ##----------------------------------------------------------------------------
48 53
 
49 54
 function fct_params
... ...
@@ -96,19 +101,26 @@ L_PARMF="${SH_PROG%*.sh}_${SH_SESSION_ID}.parms"
96 96
 > ${L_PARMF}
97 97
 
98 98
 # -- Extraction de la declaration des arguments du script et affectation de la valeur par defaut
99
-# -- Il s agit de recuperer les lignes de l entete du script qui commence par "# ARG:"
100
-L_PARAM_ARGS=`grep -E "^# *@ARG:" ${L_PROG}|head -1|sed "s/# *@ARG: *\([^ #]*\).*$/\1/"`
99
+# -- Il s agit de recuperer la dernier ligne de l entete du script qui commence par "# ARG:"
100
+L_PARAM_ARGS=`grep -E "^# *@ARG:" ${L_PROG}|head -1|sed "s/# *@ARG: *\([^ #]*\).*$/\1/"|tail -1`
101 101
 if [ -n "${L_PARAM_ARGS}" ]
102 102
 then
103 103
     # -- Un arguments a ete declare on initialise la valeur par defaut
104
-    L_DEFARG=`echo ${L_PARAM_ARGS}|cut -d: -f4`
105
-    L_VAR=`echo ${L_PARAM_ARGS}|cut -d: -f2`
104
+    L_DEFARG=`echo ${L_PARAM_ARGS}|cut -d: -f4`  # Valeur par defaut de l arguments
105
+    L_VAR=`echo ${L_PARAM_ARGS}|cut -d: -f2`     # Nom de la variable acceuillant la valeur de l argument
106
+    L_VAR=${L_VAR:="SH_ARGS"}                    # Nom par defaut de la variable acceuillant la valeur de l argument
107
+
106 108
     # -- detection d une valeur par defaut pour l argument du script
107 109
     # -- La variable L_PARAM_ARGS_DEF sera utilise pour ecraser le parametre par defaut si ce dernier a ete soumis au script
108
-    [ -n "${L_DEFARG}" ] && L_PARAM_ARGS_DEF=1 || L_PARAM_ARGS_DEF=0
109
-    # -- initialisation de la valeur par defaut
110
-    [ -n "${L_VAR}" -a -n "${L_DEFARG}" ] && eval ${L_VAR}=\"${L_DEFARG}\"
111
-    [ -z "${L_VAR}" -a -n "${L_DEFARG}" ] && eval SH_ARGS=\"${L_DEFARG}\"
110
+    if [ -n "${L_DEFARG}" ] && L_PARAM_ARGS_DEF=1 || L_PARAM_ARGS_DEF=0
111
+    then
112
+        L_PARAM_ARGS_DEF=1
113
+        # -- initialisation de la valeur par defaut, si cela n a pas ete effectuer dans le fichier de conf du script
114
+        eval ${L_VAR}=\$\{${L_VAR}:=\"${L_DEFARG}\"\}
115
+    else
116
+        L_PARAM_ARGS_DEF=0
117
+    fi
118
+
112 119
     # -- On recupere la liste des valeurs possibles pour les arguments du script
113 120
     L_PARAM_ARGS_CTL=`echo ${L_PARAM_ARGS}|cut -d: -f5`
114 121
 fi
... ...
@@ -152,7 +164,7 @@ do
152 152
   L_TMP=`echo ${L_PARAM}|sed 's/[^:]//g'`
153 153
   if [ ${#L_TMP} -lt 6 -o ${#L_TMP} -gt 7 ]
154 154
   then
155
-      L_ERREUR_MSG[1]="<lib:fct_params> La declaration de l option \"${L_OPT_NOM[${L_IDX}]}\" ne comporte pas le nopmbre de champs requis (7 ou 8)"
155
+      L_ERREUR_MSG[1]="<lib:fct_params> La declaration de l option \"${L_OPT_NOM[${L_IDX}]}\" ne comporte pas le nombre de champs requis (7 ou 8)"
156 156
       L_ERREUR=1
157 157
   else
158 158
       [ `echo ${L_PARAM}|cut -d: -f1|grep -c "o"` -eq 1 ] && L_OPT_OBLIGATOIRE="${L_OPT_OBLIGATOIRE}${L_OPT_NOM[${L_IDX}]}:${L_IDX} "
... ...
@@ -166,16 +178,13 @@ do
166 166
           eval ${L_TMP}=${L_IDX}
167 167
       fi
168 168
     
169
-      # -- Valeur par defaut pour les parametres non booleen
170
-      L_VAR=`echo ${L_PARAM}|cut -d: -f3`
171
-      L_DEFARG=`echo ${L_PARAM}|cut -d: -f5`
172
-
169
+      # -- Affectation de la valeur par defaut pour les parametres non booleen, ayant defini une valeur par defaut
170
+      L_DEFARG=`echo ${L_PARAM}|cut -d: -f5`                # valeur par defaut
173 171
       if [ `echo ${L_PARAM}|cut -d: -f1|grep -c "b"` -eq 0 -a -n "${L_DEFARG}" ]
174 172
       then
175
-          if [ -z "${L_VAR}" ]
176
-          then eval SH_ARG_${L_OPT_NOM[${L_IDX}]}=\"${L_DEFARG}\"
177
-          else eval ${L_VAR}=\"${L_DEFARG}\"
178
-          fi
173
+          L_VAR=`echo ${L_PARAM}|cut -d: -f3`               # Nom de la variable acceuillant la valeur de l argument
174
+          L_VAR=${L_VAR:="SH_ARG_${L_OPT_NOM[${L_IDX}]}"}   # Nom par defaut de la variable acceuillant la valeur de l argument  
175
+          eval ${L_VAR}=\$\{${L_VAR}:=\"${L_DEFARG}\"\}     # Valorisation, si cela n a pas ete effectuer dans le fichier de conf du script
179 176
       fi      
180 177
   fi
181 178
   ((L_IDX++))
... ...
@@ -315,7 +324,7 @@ then
315 315
                     if (( ! `echo "${L_OPTARGS_CTL}"|grep -cw "${L_VAL}"` ))
316 316
                     then
317 317
                         # -- la valeur n est pas presente dans la liste !!
318
-                        L_ERREUR_MSG[12]="L argument \"${L_VAL}\"  n est pas valide pour l option ${L_OPT_NOM[${L_IDX}]} ( Argument attendu : ${L_OPTARGS_CTL})\n"
318
+                        L_ERREUR_MSG[12]="L argument \"${L_VAL}\"  n est pas valide pour l option ${L_OPT_NOM[${L_IDX}]} (Argument attendu : ${L_OPTARGS_CTL})\n"
319 319
                         L_ERREUR=12
320 320
                     fi
321 321
                 fi
... ...
@@ -349,7 +358,7 @@ then
349 349
                   if (( ! `echo "${L_PARAM_ARGS_CTL}"|grep -cw "${L_VAL}"` ))
350 350
                   then
351 351
                       # -- la valeur n est pas presente dans la liste !!
352
-                      L_ERREUR_MSG[12]="L argument \"${L_VAL}\"  n est pas valide pour ce script ( Argument attendu : ${L_PARAM_ARGS_CTL})\n"
352
+                      L_ERREUR_MSG[12]="L argument \"${L_VAL}\"  n est pas valide pour ce script (Argument attendu : ${L_PARAM_ARGS_CTL})\n"
353 353
                       L_ERREUR=12
354 354
                   fi
355 355
               fi
... ...
@@ -361,7 +370,7 @@ then
361 361
               (( ${L_NB_ARG} )) && eval ${L_VAR}[${L_NB_ARG}]=${L_VAL} || eval ${L_VAR}=${L_VAL} 
362 362
           else
363 363
               # -- Pas de declaration !!
364
-              (( ! ${#L_ERREUR_MSG[11]} )) && L_ERREUR_MSG[11]="L argument suivant ete dectecte sans declaration : "
364
+              (( ! ${#L_ERREUR_MSG[11]} )) && L_ERREUR_MSG[11]="L argument suivant a ete dectecte sans declaration : "
365 365
               L_ERREUR_MSG[11]="${L_ERREUR_MSG[11]}\"${1}\" "
366 366
               L_ERREUR=11 
367 367
           fi     
... ...
@@ -476,7 +485,7 @@ fi
476 476
 # -- ---------------------------
477 477
 if [ -n "${L_OPTINCONNU}" ]
478 478
 then
479
-    L_ERREUR_MSG[10]="Option inconnue detectee(s) : ${L_OPTINCONNU}"
479
+    L_ERREUR_MSG[10]="Option inconnue(s) detectee(s) : ${L_OPTINCONNU}"
480 480
     L_ERREUR=10
481 481
 fi
482 482
 
... ...
@@ -495,7 +504,7 @@ done
495 495
 L_VAL="${SH_OPTION_h}${SH_OPTION_log}${SH_OPTION_hist}${SH_OPTION_s}${SH_OPTION_cpt}"
496 496
 if [ ${L_VAL} -ne 0 ]
497 497
 then
498
-    if (( 2#${L_VAL} & 2#00010 ))   # -- Comparaison binaire bit a bit vrix si l option -s est positionnee
498
+    if (( 2#${L_VAL} & 2#00010 ))   # -- Comparaison binaire bit a bit vrai si l option -s est positionnee
499 499
     then
500 500
         # -- Option s
501 501
         SH_SILENCE="oui"