Ajouté par BoboTiG le 05/09/2010 à 16:39
Afin de prendre dès le début les bonnes manières, voici quelques syntaxes à utiliser.
1. Toujours débuter le script par #!/bin/sh
2. Pendant le développement ajouter ces directives : set -u -e
3. $() : exécuter une commande, c'est une manière plus claire que d'écrire entre ``.
4. ${} : accéder à une variable, exactement comme le fait $variable sauf que c'est bien plus pratique.
Si tu as une variable $vert et une autre $normale pour changer la couleur du texte :
echo "$vertCeci est du texte écrit en vert$normal"
-> Erreur ! La variable $vertCeci n'exste pas.
echo $vert "Ceci est du texte écrit en vert$normal"
-> Misère ! Ça fonctionne mais c'est moche.
echo "${vert}Ceci est du texte écrit en vert${normal}"
-> Mouai ! C'est plus clair et plus d'embrouille.
echo ${vert}"Ceci est du texte écrit en vert" ${normal}
-> Nikel ! La meilleure façon car tu as la coloration syntaxique des variables en plus !
5. () et {} : pour exécuter une suite de commandes sur une seule ligne, on peut les placer
les unes à la suite des autre en les séparant par des points-virgules.
Exemples :
( echo "liste des fichiers"; ls; )
{ echo "liste des fichiers"; ls; }
Quand tu utilises les (), les commandes sont exécutées dans un sous shell, tandis qu'avec {} elles sont
exécutées dans le shell courant.
Source : http://www.c-sait.net/cours/scripts.php#group
6. $(()) : effectuer des opérations sur les chiffres. Pour incrémenter $i de 1 tu fais $((i=i+1)).
7. [] : c'est pour les tests :
if [ -f "/home/bobotig/fichier" ]; then
echo "existe"
else
echo "inexistant"
fi
Afin de vérifier que tu as écrit un code portable, sain et propre, vérifie-le à l'aide de checkbashisms,
un
script écrit en Perl permettant de déceller la présence de bashismes (syntaxe et utilisation trop liée à
bash [http://sourceforge.net/projects/checkbaskisms/]).