"Conversion README en markdown"
This commit is contained in:
parent
cbdb3a85ce
commit
5619851f8b
172
README.md
172
README.md
@ -1,11 +1,10 @@
|
|||||||
# Aide memoire pour l'écriture de script Bash sous le socle bash
|
# Aide memoire pour l'écriture de scripts avec le socle bash
|
||||||
|
|
||||||
* Sommaire
|
* Sommaire
|
||||||
* I - Arborescence du socle
|
* I - Arborescence du socle
|
||||||
* II - Variables d'environement
|
* II - Variables d'environement
|
||||||
* 1 - Variables globales
|
* 1 - Variables globales
|
||||||
* 2 - Variables globales spécifiques
|
* 2 - Variables de session
|
||||||
* 3 - Variables de session
|
|
||||||
* III - Utilisation du socle bash
|
* III - Utilisation du socle bash
|
||||||
* 1 - Cartouche
|
* 1 - Cartouche
|
||||||
* 1.1 Élements du cartouche
|
* 1.1 Élements du cartouche
|
||||||
@ -38,107 +37,102 @@ Cette dernière est initialisée à la connexion par l'appel au script /etc/prof
|
|||||||
Cette arborescence est utilisée pour tous scripts Bash ainsi que les variables d'environement qui
|
Cette arborescence est utilisée pour tous scripts Bash ainsi que les variables d'environement qui
|
||||||
en découlent.
|
en découlent.
|
||||||
|
|
||||||
Sous l'arborescence ${NC_EXPL_ROOT} on trouve les dossiers suivants :
|
Sous l'arborescence ${NC_EXPL_ROOT} on trouve les dossiers suivants :
|
||||||
|
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
| Dossier | Description |
|
| Dossier | Description |
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
| {Racine}/bin | Contient les binaires (scripts Bash et Ruby, eventuellement C) |
|
| {Racine}/bin | Contient les binaires (scripts Bash) |
|
||||||
| {Racine}/conf | Contient les fichiers de configuration des scripts, ainsi que du socle |
|
| {Racine}/conf | Contient les fichiers de configuration des scripts, ainsi que du socle |
|
||||||
| {Racine}/cpt | Contient les fichiers de comtpe rendu generes par les script (purge auto , 8 jours par defaut)|
|
| {Racine}/cpt | Contient les fichiers de comtpe-rendus génerés par les script (purge auto, 8 jours par défaut)|
|
||||||
| {Racine}/dat | Contient les fichiers de donnees geres par les scripts |
|
| {Racine}/dat | Contient les fichiers de données gérés par les scripts |
|
||||||
| {Racine}/hist | Contient l historique d execution des scripts (pas de purge) |
|
| {Racine}/hist | Contient l'historique d'exécution des scripts (pas de purge) |
|
||||||
| {Racine}/lib | Contient les librairies charge a la connexion par le socle |
|
| {Racine}/lib | Contient les bibliothèques chargées par le socle |
|
||||||
| {Racine}/log | Contient les fichiers de logs d execution des scripts (purge auto , 8 jours par defaut ) |
|
| {Racine}/log | Contient les fichiers de logs d exécution des scripts (purge auto , 8 jours par défaut ) |
|
||||||
| {Racine}/man | Contient les fichiers d aide des scripts pour l utilitaire "man" |
|
| {Racine}/man | Contient les fichiers d'aide des scripts pour l'utilitaire "man" |
|
||||||
| {Racine}/mod | Contient les fichiers modeles a usage des scripts |
|
| {Racine}/mod | Contient les fichiers modèles (templates) à usage des scripts |
|
||||||
| {Racine}/msg | Contient les fichiers de message pour les scripts pour la librairie "fct_erreur" |
|
| {Racine}/msg | Contient les fichiers de messages des scripts utilisés par la bibliothèque "fct_erreur" |
|
||||||
| {Racine}/tmp | Continet les fichiers temporaires des scripts du socle |
|
| {Racine}/tmp | Contient les fichiers temporaires des scripts |
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
Note : Sous chaque dossier vous trouverez un fichier texte lisezmoi.txt decrivant l usage du repertoire.
|
Note : Sous chaque dossier vous trouverez un fichier texte lisezmoi.txt decrivant l'usage du répertoire.
|
||||||
|
|
||||||
|
|
||||||
II - Variables d environement
|
## II - Variables d'environement
|
||||||
------------------------
|
|
||||||
|
|
||||||
Le socle utilise deux groupes de variables. Le premier dit "global" le second "de session".
|
Le socle utilise deux groupes de variables. Le premier dit "global" le second "de session".
|
||||||
Sauf si explicite, les variables globales sont definies et exportees a la connexion. Elles sont donc utilisables
|
Sauf si explicite, les variables globales sont définies et exportées à la connexion. Elles sont donc utilisables
|
||||||
par tous les scripts, mais elles ne sont pas modifiables.
|
par tous les scripts, mais elles ne sont pas modifiables.
|
||||||
|
|
||||||
Les variables de session sont definies a l'execution d un script et lui sont propre.
|
Les variables de session sont définies à l'execution d'un script et lui sont propres.
|
||||||
Cependent certaines d entre elles sont transmises au script enfant
|
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 a 2 niveaux. De facon global dans le fichier "init.conf" ou pour un script
|
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}/<Nom_du_script>.conf. La valeur definit dans "init.conf" seras utlisee sauf
|
particulier dans le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf.
|
||||||
si elle as ete surchargee dans le fichier de configuration du script.
|
|
||||||
Il y a cependant une specificite pour SH_RETENTION_CPT et SH_RETENTION_LOG, ces variables sont defini une et une seul fois
|
La valeur définie dans "init.conf" sera utlisée sauf si elle a été surchargée dans le fichier de configuration du
|
||||||
lors de la premiere initialisation. Ce qui signinfie qu'un script qui aurait surcharge ces variables, ignorera l initialisation
|
script.
|
||||||
de ces variable si il est appeler par un autre script.
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
1 - Variables globales generals
|
### 1 - Variables globales générales
|
||||||
+-------------------+----------------------------+
|
|
||||||
| Nom | Usage |
|
|
||||||
+-------------------+----------------------------+
|
|
||||||
| NC_EXPL_ROOT | Racine /opt/expl |
|
|
||||||
| EXPL_ROOT | Alias pour NC_EXPL_ROOT |
|
|
||||||
| NC_EXPL_BIN | Pointe vers {Racine}/bin |
|
|
||||||
| NC_EXPL_CFG | Pointe vers {Racine}/conf |
|
|
||||||
| NC_EXPL_CPT | Pointe vers {Racine}/cpt |
|
|
||||||
| NC_EXPL_DAT | Pointe vers {Racine}/dat |
|
|
||||||
| NC_EXPL_HST | Pointe vers {Racine}/hist |
|
|
||||||
| NC_EXPL_LIB | Pointe vers {Racine}/lib |
|
|
||||||
| NC_EXPL_LOG | Pointe vers {Racine}/log |
|
|
||||||
| NC_EXPL_MAN | Pointe vers {Racine}/man |
|
|
||||||
| NC_EXPL_MOD | Pointe vers {Racine}/mod |
|
|
||||||
| NC_EXPL_MSG | Pointe vers {Racine}/msg |
|
|
||||||
| NC_EXPL_TMP | Pointe vers {Racine}/tmp |
|
|
||||||
| RUBYLIB | vaut ${NC_EXPL_LIB} |
|
|
||||||
| NC_EXPL_SRVBATCH | Nom du serveur Batch |
|
|
||||||
+-------------------+----------------------------+
|
|
||||||
|
|
||||||
Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont definie dans le fichier "dtsi.sh"
|
+-------------------+----------------------------+
|
||||||
Les autres variables NC_~ sont definie dans le fichier "profile_init.env"
|
| Nom | Usage |
|
||||||
|
+-------------------+----------------------------+
|
||||||
|
| NC_EXPL_ROOT | Racine /opt/expl |
|
||||||
|
| EXPL_ROOT | Alias pour NC_EXPL_ROOT |
|
||||||
|
| NC_EXPL_BIN | Pointe vers {Racine}/bin |
|
||||||
|
| NC_EXPL_CFG | Pointe vers {Racine}/conf |
|
||||||
|
| NC_EXPL_CPT | Pointe vers {Racine}/cpt |
|
||||||
|
| NC_EXPL_DAT | Pointe vers {Racine}/dat |
|
||||||
|
| NC_EXPL_HST | Pointe vers {Racine}/hist |
|
||||||
|
| NC_EXPL_LIB | Pointe vers {Racine}/lib |
|
||||||
|
| NC_EXPL_LOG | Pointe vers {Racine}/log |
|
||||||
|
| NC_EXPL_MAN | Pointe vers {Racine}/man |
|
||||||
|
| NC_EXPL_MOD | Pointe vers {Racine}/mod |
|
||||||
|
| NC_EXPL_MSG | Pointe vers {Racine}/msg |
|
||||||
|
| NC_EXPL_TMP | Pointe vers {Racine}/tmp |
|
||||||
|
| RUBYLIB | vaut ${NC_EXPL_LIB} |
|
||||||
|
| NC_EXPL_SRVBATCH | Nom du serveur Batch |
|
||||||
|
+-------------------+----------------------------+
|
||||||
|
|
||||||
2 - Variables globales specifiques
|
Les variables NC_EXPL_ROOT, EXPL_ROOT et NC_EXPL_SRVBATCH sont définies dans le fichier "tetalab.sh"
|
||||||
2.1 Pour les serveurs BDD
|
Les autres variables NC_* sont définies dans le fichier "profile_init.env"
|
||||||
+--------------------+------------------------------------------+
|
|
||||||
| Nom | Usage |
|
|
||||||
+--------------------+------------------------------------------+
|
|
||||||
| NC_EXPL_SQL | Pointe vers {Racine}/sql |
|
|
||||||
| NC_EXPL_DBTAB | Pointe vers le fichier .dbtab |
|
|
||||||
| NC_EXPL_DBEDITEUR | Vaut : "oracle" ou "postgres" ou "mysql" |
|
|
||||||
+--------------------+------------------------------------------+
|
|
||||||
|
|
||||||
Ces variables sont definie dans le fichier "profile_socle_database.env"
|
|
||||||
|
|
||||||
3 - Variables de session
|
### 2 - Variables de session
|
||||||
Cette liste n est pas exhaustive, seules les principales variables sont citees.
|
|
||||||
+--------------------+-------------------------------------------------------------------------------+
|
|
||||||
| Nom | Usage |
|
|
||||||
+--------------------+-------------------------------------------------------------------------------+
|
|
||||||
| SH_SESSION_ID | Numero unique d execution : <TimeStamp>_<PId> |
|
|
||||||
| SH_SILENCE | Acitve ou non l affichage des messages via fct_message. Par defaut vaut "non" |
|
|
||||||
| SH_PROG | Nom du script |
|
|
||||||
| SH_LOGUSER | Compte initial de connexion au serveur |
|
|
||||||
| SH_EXECUSER | Compte courant executant le script |
|
|
||||||
| SH_DIR | Dossier hebergeant le script |
|
|
||||||
| SH_PROG_VERSION | Version du script |
|
|
||||||
| SH_FICTRC | Pointe vers le fichier ${NC_EXPL_HST}/<Nom_du_script>.hist |
|
|
||||||
| SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/<Nom_du_script>.msg |
|
|
||||||
| SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf |
|
|
||||||
| SH_FICSEM | Pointe vers le fichier /dev/shm/<Nom_du_script>.sem |
|
|
||||||
| SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/<Nom_du_script>.log |
|
|
||||||
| SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/<Nom_du_script>.cpt |
|
|
||||||
| SH_NIV_DEBUG | Vaut 0 par defaut. Niveau d affichage dans les fichiers de trace |
|
|
||||||
| SH_RETENTION_CPT | Vaut 8 par defaut. Duree de retention en jours des fichiers de compte-rendu |
|
|
||||||
| SH_RETENTION_LOG | Vaut 8 par defaut. Duree de retention en jours des fichiers de trace |
|
|
||||||
+--------------------+-------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
Remarque : Les variables SH_SILENCE et SH_NIV_DEBUG sont controlees par les options "-s" et "-dbg"
|
Cette liste n'est pas exhaustive, seules les principales variables sont citées.
|
||||||
si la gestion des options a ete activee.
|
|
||||||
|
+--------------------+-------------------------------------------------------------------------------+
|
||||||
|
| Nom | Usage |
|
||||||
|
+--------------------+-------------------------------------------------------------------------------+
|
||||||
|
| SH_SESSION_ID | Numero unique d'exécution : <TimeStamp>_<PID> |
|
||||||
|
| SH_SILENCE | Active ou non l'affichage des messages via fct_message. Par defaut vaut "non" |
|
||||||
|
| SH_PROG | Nom du script |
|
||||||
|
| SH_LOGUSER | Compte initial de connexion au serveur |
|
||||||
|
| SH_EXECUSER | Compte courant exécutant le script |
|
||||||
|
| SH_DIR | Dossier hébergeant le script |
|
||||||
|
| SH_PROG_VERSION | Version du script |
|
||||||
|
| SH_FICTRC | Pointe vers le fichier ${NC_EXPL_HST}/<Nom_du_script>.hist |
|
||||||
|
| SH_FICMSG | Pointe vers le fichier ${NC_EXPL_MSG}/<Nom_du_script>.msg |
|
||||||
|
| SH_FICCFG | Pointe vers le fichier ${NC_EXPL_CFG}/<Nom_du_script>.conf |
|
||||||
|
| SH_FICSEM | Pointe vers le fichier /dev/shm/<Nom_du_script>.sem |
|
||||||
|
| SH_FICLOG | Pointe vers le fichier ${NC_EXPL_LOG}/<Nom_du_script>.log |
|
||||||
|
| SH_FICCPT | Pointe vers le fichier ${NC_EXPL_CPT}/<Nom_du_script>.cpt |
|
||||||
|
| SH_NIV_DEBUG | Vaut 0 par défaut. Niveau d'affichage dans les fichiers de traces |
|
||||||
|
| SH_RETENTION_CPT | Vaut 8 par défaut. Duree de rétention en jours des fichiers de compte-rendus |
|
||||||
|
| 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"
|
||||||
|
si la gestion des options a été activée.
|
||||||
|
|
||||||
|
|
||||||
III - Utilisation du socle bash
|
III - Utilisation du socle bash
|
||||||
|
Loading…
Reference in New Issue
Block a user