From 22986e76c0f88ed1d3123dcc5353d6aab17cbe7a Mon Sep 17 00:00:00 2001 From: Doug Le Tough Date: Fri, 21 Jul 2017 12:14:27 +0200 Subject: [PATCH] "Conversion README en markdown" --- README.md | 274 +++++++++++++++++++++++++++--------------------------- 1 file changed, 137 insertions(+), 137 deletions(-) diff --git a/README.md b/README.md index d71ed72..c1ac79d 100755 --- a/README.md +++ b/README.md @@ -19,20 +19,20 @@ * 1 - Fichiers temporaires * 2 - Nom des exécutables * V - Description et usage des bibliothèques - * 1 - fct_message - * 2 - fct_affiche_ligne - * 3 - fct_erreur - * 4 - fct_unique_exec - * 5 - fct_libere_exec - * 6 - fct_usage - * 7 - fct_rotation + * 1 - fct\_message + * 2 - fct\_affiche\_ligne + * 3 - fct\_erreur + * 4 - fct\_unique\_exec + * 5 - fct\_libere\_exec + * 6 - fct\_usage + * 7 - fct\_rotation * 8 - fctpath - * 9 - fct_params + * 9 - fct\_params ## I - Arborescence du socle -La racine des dossiers utilisée par le Socle Bash est définie par la variable d'environement NC_EXPL_ROOT. +La racine des dossiers utilisée par le Socle Bash est définie par la variable d'environement NC\_EXPL\_ROOT. Cette dernière est initialisée à la connexion par l'appel au script /etc/profile.d/tetalab.sh Cette arborescence est utilisée pour tous scripts Bash ainsi que les variables d'environement qui en découlent. @@ -66,15 +66,15 @@ par tous les scripts, mais elles ne sont pas modifiables. Les variables de session sont définies à l'execution d'un script et lui sont propres. Cependent certaines d'entre elles sont transmises aux scripts enfants: - - SH_SESSION_ID, SH_FICLOG, SH_FICCPT, SH_RETENTION_CPT, SH_RETENTION_LOG, SH_NIV_DEBUG, SH_SILENCE, SH_AFF_SID + - SH\_SESSION\_ID, SH\_FICLOG, SH\_FICCPT, SH\_RETENTION\_CPT, SH\_RETENTION\_LOG, SH\_NIV\_DEBUG, SH\_SILENCE, SH\_AFF\_SID Les variables de session sont modifiable à 2 niveaux. De facon global dans le fichier "init.conf" ou pour un script -particulier dans le fichier ${NC_EXPL_CFG}/.conf. +particulier dans le fichier ${NC\_EXPL\_CFG}/.conf. La valeur définie dans "init.conf" sera utlisée sauf si elle a été surchargée dans le fichier de configuration du script. -Il y a cependant une spécificite pour SH_RETENTION_CPT et SH_RETENTION_LOG: +Il y a cependant une spécificite pour SH\_RETENTION\_CPT et SH\_RETENTION\_LOG: - ces variables sont definies une et une seule fois lors de la première initialisation. Ce qui signinfie qu'un script qui aurait surchargé ces variables, ignorera l'initialisation de ces variable si il est appelé par un autre script. @@ -102,8 +102,8 @@ Il y a cependant une spécificite pour SH_RETENTION_CPT et SH_RETENTION_LOG: | NC_EXPL_SRVBATCH | Nom du serveur Batch | +-------------------+----------------------------+ -Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont définies dans le fichier "tetalab.sh" -Les autres variables NC_* sont définies dans le fichier "profile_init.env" +Les variables NC\_EXPL\_ROOT, EXPL\_ROOT et NC\_EXPL\_SRVBATCH sont définies dans le fichier "tetalab.sh" +Les autres variables NC\_* sont définies dans le fichier "profile\_init.env" ### 2 - Variables de session @@ -131,14 +131,13 @@ Cette liste n'est pas exhaustive, seules les principales variables sont citées. | SH_RETENTION_LOG | Vaut 8 par défaut. Duree de rétention en jours des fichiers de traces | +--------------------+-------------------------------------------------------------------------------+ -Remarque : Les variables SH_SILENCE et SH_NIV_DEBUG sont controlées par les options "-s" et "-dbg" +Remarque : Les variables SH\_SILENCE et SH\_NIV\_DEBUG sont controlées par les options "-s" et "-dbg" si la gestion des options a été activée. ## III - Utilisation du socle bash -Cette partie decrit sommairmement les quelques regles d usage pour ecrire un script Bash sous le socle DTSI -Ceci ne concerne pas les script Ruby qui ne sont pas pris en charge par le socle decrit ici. +Cette partie décrit sommairement les quelques règles d'usage pour écrire un script Bash avec le socle. ### 1 - Cartouche @@ -189,7 +188,7 @@ Les scripts doivent commencer par le cartouche ci-dessous : | | +----------------------------------------------------------------------------------------------------+ -Note : Les lignes commençant par 2 "#" sont utilisees pour generer l'aide, leur maintient est donc nécéssaire +Note : Les lignes commençant par 2 "#" sont utilisées pour générer l'aide, leur maintient est donc nécéssaire pour garantir la fiabilité de l'information. Ce sont ces lignes, qui sont lues lors de l'utilisation de l'option par defaut "-h". @@ -233,12 +232,13 @@ La déclaration est réalisée dans le paragraphe "Liste des options et argument option est identifiée par l'entête de ligne "# @OPT:" suivi de la description. La description consiste en une liste de paramètres séparés par ":" - ::::::: + ::::::: L'ordre des paramètre est figé et tous doivent etre présents. 8 champs sont obligatoires, soit 7 caracteres ":" (on ne compte pas le caracatere ":" suivant @OPT). Exemple de déclaration valide : + # @OPT: fb:h::0::: # @OPT: fb:s::0::: # @OPT: f:dbg:SH_NIV_DEBUG:0/1::: @@ -247,58 +247,58 @@ Exemple de déclaration valide : # @OPT: oM:i:G_INSTANCE:1/1:ALL:dbid: # @OPT: oM:pr:G_PR_NOM:1/1:sq,t,l: -* : Propriété de l'attribu défini par l'aggrégation des lettres suivantes: - * f -> Option falcultative - * b -> Booléen - * o -> Option obligatoire - * M -> Argument transformé en majuscule + * : Propriété de l'attribu défini par l'aggrégation des lettres suivantes: + * f -> Option falcultative + * b -> Booléen + * o -> Option obligatoire + * M -> Argument transformé en majuscule -* : nom de l'option (sans le tiret). Attention le nom de l'option est sensible à la casse. + * : nom de l'option (sans le tiret). Attention le nom de l'option est sensible à la casse. -* : nom de la variable dans laquelle sera stockée le(s) argument(s) + * : nom de la variable dans laquelle sera stockée le(s) argument(s) si plusieurs arguments alors un tableau sera initialisé L'index [n] commence à zero. Le nombre d'arguments éffectivement passés a la commande est "${#[*]}". La valeur max de l'index [n] est "${#[*]} - 1". -* : nombre d'arguments attendus de la forme "min/max", "min/", "max" ou "" + * : nombre d'arguments attendus de la forme "min/max", "min/", "max" ou "" si vide ou "0" alors l'option est booléene. la forme "min/" considere le nombre max non determiné (infini) -* : Valeur par défaut assignée à -Fonctionne si vaut 0/1 1/1 + * : Valeur par défaut assignée à +Fonctionne si vaut 0/1 1/1 -* : Liste des options mutellement exclusives séparées par une virgule. + * : Liste des options mutellement exclusives séparées par une virgule. -* : Liste des options inclusives séparées par une virgule. + * : Liste des options inclusives séparées par une virgule. Lors de l'initialisation les marqueurs "@OPT" sont lues et analysées. Le résultat est comparé aux arguments et options sousmis au script et les variables suivantes son initialisées ... -* SH_OPTION_ : Initialisée à "1" (Vrai) ou "0" (Faux) selon que l'option est respectivement utilisée ou non. + * SH\_OPTION\_ : Initialisée à "1" (Vrai) ou "0" (Faux) selon que l'option est respectivement utilisée ou non. Il existe toujours une variable par option déclarée. Ceci concerne aussi les options par défaut géré par la bibliothèque params.lib -* SH_ARG_ : Cette variable existe uniquement si le champ est null et si le type n'est pas booleen. -Par défaut elle est initialisée à null ou avec la valeur -Si le champ est renseigné, alors SH_ARG_ est remplacée pas . -Si l'option associée peut prendre plusieurs arguments, alors les variables SH_ARG_ ou sont des tableaux dont l'index commence a zéro. -La taille du tableau peut etre récuperée via ${#SH_ARG_[*]} ou ${#[*]}. + * SH\_ARG\_ : Cette variable existe uniquement si le champ est null et si le type n'est pas booléen. +Par défaut elle est initialisée à null ou avec la valeur +Si le champ est renseigné, alors SH\_ARG\_ est remplacée pas . +Si l'option associée peut prendre plusieurs arguments, alors les variables SH\_ARG\_ ou sont des tableaux dont l'index commence a zéro. +La taille du tableau peut etre récuperée via ${#SH\_ARG\_[*]} ou ${#[*]}. -Les option -h, -s, -log [id], -hist [N] et -dbg N sont prises en charge automatiquement. Ces noms sont donc reservées. +Les options -h, -s, -log [id], -hist [N] et -dbg N sont prises en charge automatiquement. Ces noms sont donc reservées. Les options par défaut réalisent les actions suivantes : - -h : Affiche l aide du script (Ligne du cartouche qui commence par "##") + -h : Affiche l'aide du script (Ligne du cartouche qui commence par "##") -s : Mode silence. Plus d'affichage sur le terminal. Initialise la variable SH_SILENCE a "oui" - -log [id] : Affiche le dernier journal ou le journal "id" (identifiant de session d'execution). + -log [id] : Affiche le dernier journal ou le journal "id" (identifiant de session d'exécution). -cpt [id] : Affiche le dernier compte-rendu ou le Compte-rendu "id" (identifiant de session d'execution). - -hist [N] : Affiche l historique des "N" dernieres executions (N=10 par dafaut) - -dbg N : Activation du mode debug au niveau "N". Active les messages geres par la librairie fct_message - dont l'option -debug est utilisee. + -hist [N] : Affiche l'historique des "N" dernières executions (N=10 par défaut) + -dbg N : Activation du mode debug au niveau "N". Active les messages gérés par la librairie fct_message + dont l'option -debug est utilisée. -- Arguments : La declaration des argument du script n est pas obligatoire +* Arguments : La declaration des argument du script n'est pas obligatoire Attention : Si aucune option "@OPT:" n est declaree alors il n y auras pas de prise en charge des arguments. Si votre script ne necessite pas d option, mais qu il presente des arguments, alors il faudras declarer @@ -310,7 +310,7 @@ Les options par défaut réalisent les actions suivantes : (Si plusieurs lignes avec le marqueur @ARG existe, alors seul la premiere et prise en compte) La description consiste en une liste de parametres separes par ":" - :::: + :::: L ordre des parametres est fige et tous doivent etre presents. @@ -325,14 +325,14 @@ Les options par défaut réalisent les actions suivantes : Le nombre d arguments effectivement passes a la commande est "${#[*]}". L valeur max de l index [n] est "${#[*]} - 1". - Si n est pas renseigne alors la variable SH_ARGS[] est initialisee + Si n est pas renseigne alors la variable SH\_ARGS[] est initialisee - : nombre d arguments attendus de la forme "min/max", "min/", "max" ou "". + : nombre d arguments attendus de la forme "min/max", "min/", "max" ou "". si vide alors on considere que le nombre d arguments est a minima de 1. la forme "min/" considere le nombre est a minima de "min". - : Valeur par defaut assignee a - Fonctionne si vaut 0/1 1/1 + : Valeur par defaut assignee a + Fonctionne si vaut 0/1 1/1 ATTENTION Si le caractere "&" est present dans la valeur d un argument, alors cette valeur doit etre encadree @@ -373,9 +373,9 @@ ATTENTION 2 - Initialisation du socle. Par defaut les librairies du socle sont chargees a la connexion. Mais pour qu elles puissent etre operationnelles il faut initialiser les variables de session. - Ceci est realise en sourcant le fichier "${NC_EXPL_CFG}/init.conf" au debut du script : + Ceci est realise en sourcant le fichier "${NC\_EXPL\_CFG}/init.conf" au debut du script : - Rem : L analyse des options et arguments est aussi realise par "${NC_EXPL_CFG}/init.conf". + Rem : L analyse des options et arguments est aussi realise par "${NC\_EXPL\_CFG}/init.conf". +----------------------------------------------------------------------------------------------------+ | | @@ -388,13 +388,13 @@ ATTENTION | #----------------------------------------------------------------------------- | | # Initialisation de l environement | | #----------------------------------------------------------------------------- | - | if [ ! -f ${NC_EXPL_CFG}/init.conf ] | + | if [ ! -f ${NC\_EXPL\_CFG}/init.conf ] | | then | - | echo "Fichier d initialisation du socle \${NC_EXPL_CFG}/init.conf n existe pas !" | + | echo "Fichier d initialisation du socle \${NC\_EXPL\_CFG}/init.conf n existe pas !" | | echo "Arret du script par securite" | | exit 250 | | else | - | . ${NC_EXPL_CFG}/init.conf | + | . ${NC\_EXPL\_CFG}/init.conf | | fi | | . | | . | @@ -416,25 +416,25 @@ ATTENTION | #----------------------------------------------------------------------------- | | # Initialisation de l environement | | #----------------------------------------------------------------------------- | - | if [ ! -f ${NC_EXPL_CFG}/init.conf ] | + | if [ ! -f ${NC\_EXPL\_CFG}/init.conf ] | | then | - | echo "Fichier d initialisation du socle \${NC_EXPL_CFG}/init.conf n existe pas !" | + | echo "Fichier d initialisation du socle \${NC\_EXPL\_CFG}/init.conf n existe pas !" | | echo "Arret du script par securite" | | exit 250 | | else | - | . ${NC_EXPL_CFG}/init.conf | + | . ${NC\_EXPL\_CFG}/init.conf | | fi | | | | #----------------------------------------------------------------------------- | | # Definition des fonctions | | #----------------------------------------------------------------------------- | | # | - | function fct_un | + | function fct\_un | | { ... | | } | | | | #----------------------------------------------------------------------------- | - | function fct_deux | + | function fct\_deux | | { ... | | } | | | @@ -442,12 +442,12 @@ ATTENTION | # Programme principal MAIN | | #----------------------------------------------------------------------------- | | # | - | fct_message "${SH_PROG}" | - | fct_message "version ${SH_PROG_VERSION}" | + | fct\_message "${SH\_PROG}" | + | fct\_message "version ${SH\_PROG\_VERSION}" | | | | # -- Initialisation des variables par defaut | | # -- --------------------------------------- | - | G_VAR1=${G_AVR1:="Valeur par defaut"} # | + | G\_VAR1=${G\_AVR1:="Valeur par defaut"} # | | ... | | | | # -- Control de coherence des options | @@ -458,33 +458,33 @@ ATTENTION | | | < ... Code du script ...> | | | - | fct_erreur 0 | + | fct\_erreur 0 | | | +----------------------------------------------------------------------------------------------------+ - Note : La construction /G_VAR1=${G_AVR1:="Valeur par defaut"}/ permet de definir une variable avec une - valeur par defaut, qui peut etre surchargee dans le fichier de configuration {NC_EXPL_CFG}/.conf + Note : La construction /G\_VAR1=${G\_AVR1:="Valeur par defaut"}/ permet de definir une variable avec une + valeur par defaut, qui peut etre surchargee dans le fichier de configuration {NC\_EXPL\_CFG}/.conf - Concernant les fonctions /fct_message/ et /fct_erreur/ voir le chapitre V. + Concernant les fonctions /fct\_message/ et /fct\_erreur/ voir le chapitre V. 4 - Actions realisees au lancement d un script - Le script commence par le chargement de la configuration ". ${NC_EXPL_CFG}/init.conf" + Le script commence par le chargement de la configuration ". ${NC\_EXPL\_CFG}/init.conf" un certain nombre d action sont effectuees par defaut en plus de l initialisation des variables de session. - Initialisation des variables de session (Cf. II.3) - - Generation d'un numero de session unique sous la varable ${SH_SESSION_ID} + - Generation d'un numero de session unique sous la varable ${SH\_SESSION\_ID} - - Chargement du fichier ${SH_FICCFG} + - Chargement du fichier ${SH\_FICCFG} - - Rotation des fichiers ${SH_FICLOG} et ${SH_FICCPT} selon les retentions respective ${SH_RETENTION_LOG} et ${SH_RETENTION_CPT} + - Rotation des fichiers ${SH\_FICLOG} et ${SH\_FICCPT} selon les retentions respective ${SH\_RETENTION\_LOG} et ${SH\_RETENTION\_CPT} - - Purge des fichiers temporaires (${NC_EXP_ROOT}/tmp) anterieurs selon la retentions ${SH_RETENTION_LOG} - et suppression des fichiers generes par le script utilsant le socle dans ${NC_EXP_ROOT}/log et ${NC_EXP_ROOT}/cpt + - Purge des fichiers temporaires (${NC\_EXP\_ROOT}/tmp) anterieurs selon la retentions ${SH\_RETENTION\_LOG} + et suppression des fichiers generes par le script utilsant le socle dans ${NC\_EXP\_ROOT}/log et ${NC\_EXP\_ROOT}/cpt - - Ecriture dans le fichier ${SH_FICTRC} de la date de debut execution, ainsi que des arguments passes au script + - Ecriture dans le fichier ${SH\_FICTRC} de la date de debut execution, ainsi que des arguments passes au script - - Initialisation du fichier ${SH_FICLOG} a vide + - Initialisation du fichier ${SH\_FICLOG} a vide - Analyse des parametres passes au script Cette analyse ne fonctionne que si les options ont ete declarees dans l entete du script (Cf. III.1.1.2) @@ -494,16 +494,16 @@ ATTENTION IV - Nomenclature ------------ 1 - Fichier temporaire - Les fichiers temporaires doivent etre ecrits dans le repertoire ${NC_EXPL_TMP}. - Les noms des fichiers temporaires sont de le forme : _${SH_SESSION_ID}.tmp + Les fichiers temporaires doivent etre ecrits dans le repertoire ${NC\_EXPL\_TMP}. + Les noms des fichiers temporaires sont de le forme : \_${SH\_SESSION\_ID}.tmp De cette facon il seront geres par le socle (Suppresion automatique) 2 - Nom des executables ( fichiers du dossier {racine}/bin ) Les noms des fichiers doit etre de la forme : -
_
-            
_.
-            
__[_].
-            _.
+            
\_
+            
\_.
+            
\_\_[\_].
+            \_.
 
           
      est une des valeurs suivantes : "sys", "dba", "exp", "ctl", "aud", "int"
 
@@ -517,7 +517,7 @@ IV  - Nomenclature
                      modifier le systeme dans le cadres de traitements reccurents.
                      Leurs execution est de risque modere, comme respecter une date d execution.
                      Il sont reserves a l exploitation systeme uniquement. Dans le cas d un traitement
-                     reccurrent pour le compte d une application le nom doit etre de la forme _.
+                     reccurrent pour le compte d une application le nom doit etre de la forme \_.
 
                      - "int" : Script dedier aux interfaces entre applications
                      Ces script doivent fair l objet d une attention particuliere car il peuvent modifier
@@ -541,17 +541,17 @@ IV  - Nomenclature
 
 V   - Description et usage des Librairies
       -----------------------------------
-    1 - fct_message
+    1 - fct\_message
     --- -----------
 
-        Syntaxe  : fct_message [-cpt] [-hist] [-nolog] [-debug N] [-color Couleur] ""
+        Syntaxe  : fct\_message [-cpt] [-hist] [-nolog] [-debug N] [-color Couleur] ""
         Usage    : Cette fonction est a utiliser en remplacement de la commande "echo".
                    Elle ajoute l horadatage au message et gere la ventilation des ecritures dans les differents fichiers de traces.
 
-        Fonction : Par defaut le message est affiche sur le terminal et est ecrit dans le fichier journal ${NC_EXPL_LOG}/.log
+        Fonction : Par defaut le message est affiche sur le terminal et est ecrit dans le fichier journal ${NC\_EXPL\_LOG}/.log
                    Les options modifient la destination de l ecriture :
-                   - cpt     : Ecrit en plus du journal dans le fichier de compte-rendu ${NC_EXPL_CPT}/.cpt
-                   - hist    : Ecrit uniquement dans le fichier d historique des executions ${NC_EXPL_TRC}/.hist
+                   - cpt     : Ecrit en plus du journal dans le fichier de compte-rendu ${NC\_EXPL\_CPT}/.cpt
+                   - hist    : Ecrit uniquement dans le fichier d historique des executions ${NC\_EXPL\_TRC}/.hist
                    - nolog   : inhibe l ecritutre dans le fichier journal
                    - debug N : N'affiche pas le message sur le terminal mais uniquement dans le fichier journal, a condition
                                que le script soit execute en mode debug de niveau equivalent a "N" via l'option "-dbg N".
@@ -560,11 +560,11 @@ V   - Description et usage des Librairies
                    - color   : Affiche le message en couleur. Les couleurs reconues sont : vert,rouge,bleu,cyan,jaune,orange,blanc et noir
 
 
-    2 - fct_affiche_ligne
+    2 - fct\_affiche\_ligne
     --- -----------------
 
-       Syntaxe  : fct_affiche_ligne [entete|pied] 
-       Usage    : Affiche un tableau sur la sortie standard et dans le fichier compte-rendu ${NC_EXPL_ROOT}/