| Règle 1 : |
| Commentez abondamment et documentez systématiquement vos scripts avec une en-tête comprenant :
- le nom de l'auteur,
- la date,
- une présentation des fonctionnalités.
|
| Règle 2 : |
| Vérifier les paramètres d'appel, et indiquer l'usage si l'appel est incorrect. |
| Règle 3 : |
| Assortir toute sortie anormale d'un message d'erreur et d'un appel à « exit »
avec un numéro d'erreur afin de pouvoir être testé dans tout script appelant. |
| Règle 4 : |
| Adopter une approche modulaire avec usage de :
- fonctions internes,
- scripts externes,
- appel à des scripts existants.
|
| Règle 5 : |
| Utilisez les minuscules pour les noms de variables internes à un script ou
une fonction (hors environnement) et les majuscules pour les variables empilées
dans ou héritées de l'environnement. |
| Règle 6 : |
| Si des paramètres d'environnement propres au déroulement ou à l'enchaînement
de scripts sont nécessaires, les terminaisons normales et anormales doivent assurer
le dépilement de ces paramètres, afin de ne pas polluer inutilement
l'environnement utilisateur au fur et à mesure des appels. |
| Règle 7 : |
| Si un script fait référence à des ressources (fichiers) qu'il ne crée pas lui-même,
et/ou s'il atteint un certain volume (supérieur à une page par exemple), rédigez les
traces (jalonnement de « stdout ») et des messages d'erreurs (« stderr »)
sur un même fichier de log, portant le même nom que le script avec l'extension
« .log ». |
| Règle 8 : |
| Si des messages et/ou des erreurs doivent être redirigées sur la console6.5, alors préfixez les du nom du script qui les génèrent. |
| Règle 9 : |
| Tout fichier temporaire doit être créé dans un répertoire réservé et distinct qui sera
identifié par une variable d'environnement (« D_TEMP » par exemple). Ce répertoire
sera distinct de « /tmp ». La nécessité de plusieurs répertoires temporaires sera
satisfaite par la création de sous-répertoires dans celui-ci. Le « PID »6.6 (accessible grâce à la variable « $$ »6.7) du script sera utilisé systématiquement comme suffixe des noms de fichiers
temporaires générés. |
| |
| Toutes les ressources temporaires (sous-répertoires et fichiers) seront évacuées
de cette zone par destruction (commande « rm ») ou rangées ailleurs (commande
« mv ») lors des terminaisons. |
| Règle 10 : |
| Tout script aura comme première ligne, la description du Shell à lancer. On aura
donc : |
| |
|
| Shell |
Première ligne |
| Bourne Shell |
#!/bin/sh |
| C Shell |
#!/bin/csh |
| Korn Shell |
#!/bin/ksh |
| TC Shell |
#!/bin/tcsh |
| Bourne Another Shell |
#!/bin/bash |
|
| |
| La châine de caractère spécifiant le nom de l'exécutable doit être écrite
sans espaces et dès la première colonne. |
| |
| |
Suite page suivante  |
|