Ce chapitre documente le style du code utilisé dans les systèmes live.
15.1 Compatibilité
N'utilisez pas une syntaxe ou sémantique qui soit unique au shell Bash. Par exemple, l'utilisation de tableaux (arrays).
N'utilisez que le sous-ensemble POSIX − par exemple, utilisez $(foo) au lieu de `foo`.
Vous pouvez vérifier vos scripts avec 'sh -n' et 'checkbashisms'.
Assurez-vous que tout le code fonctionne avec 'set-e '.
15.2 Indentation
Utilisez toujours des tabulations au lieu des espaces.
15.3 Adaptateur
Généralement, les lignes sont de 80 caractères au maximum.
Utilisez le «style Linux» des sauts de ligne:
Mal:
if foo; then
bar
fi
Bien:
if foo
then
bar
fi
La même chose vaut pour les fonctions:
Mal:
Foo () {
bar
}
Bien:
Foo ()
{
bar
}
15.4 Variables
Les variables sont toujours en lettres majuscules.
Les variables utilisées dans live-build commencent toujours par le préfixe LB_.
Les variables temporaires internes dans live-build devraient commencer avec le préfixe _LB_.
Les variables locales commencent avec le préfixe __LB_.
Les variables en relation avec un paramètre de démarrage dans live-config commencent par LIVE_.
Toutes les autres variables dans live-config commencent par le préfixe _.
Utilisez des accolades autour des variables; écrivez par exemple ${FOO} au lieu de $FOO.
Protégez toujours les variables avec des guillemets pour respecter les espaces potentiels: écrire "${FOO}" en lieu de ${FOO}.
Pour des raisons de cohérence, utilisez toujours les guillemets lors de l'attribution des valeurs aux variables:
Mal:
FOO=bar
Bien:
FOO="bar"
Si plusieurs variables sont utilisées, utilisez les guillemets pour l'expression complète:
Mal:
if [ -f "${FOO}"/foo/"${BAR}"/bar ]
then
foobar
fi
Bien:
if [ -f "${FOO}/foo/${BAR}/bar" ]
then
foobar
fi
15.5 Autres
Utilisez "|" (sans les guillemets autour) comme séparateur dans les appels à sed, par exemple "sed -e 's|foo|bar|'" (sans" ").
N'utilisez pas la commande test pour des comparaisons ou des tests, utilisez "[" "]" (sans ""); par exemple "if [ -x /bin/foo ]; ..." et non pas "if test -x /bin/foo; ...".
Utilisez case dans la mesure du possible au lieu de test, parce qu'il est plus facile à lire et plus rapide à exécuter.
Utilisez des noms en majuscule pour les fonctions pour éviter toute interférence avec l'environnement des utilisateurs.