Examinez le script suivant. Lancez-le, puis expliquez ce qu'il fait. Annotez le script, puis ré-écrivez-le d'une façon plus compacte et plus élégante.
#!/bin/bash
MAX=10000
for((nr=1; nr<$MAX; nr++))
do
let "t1 = nr % 5"
if [ "$t1" -ne 3 ]
then
continue
fi
let "t2 = nr % 7"
if [ "$t2" -ne 4 ]
then
continue
fi
let "t3 = nr % 9"
if [ "$t3" -ne 5 ]
then
continue
fi
break # Que se passe-t-il quand vous mettez cette ligne en commentaire?
# Pourquoi?
done
echo "Nombre = $nr"
exit 0 |
---
Un lecteur a envoyé le code suivant.
while read LIGNE do echo $LIGNE done < `tail -f /var/log/messages` |
---
Analyser Exemple A-11, et ré-organisez-le en suivant un style simplifié et plus logique. Cherchez combien de ses variables peuvent être éliminées et essayez d'optimiser le temps d'éxécution du script.
Modifiez le script pour qu'il accepte n'importe quel fichier texte ASCII pour sa << génération >> initiale. Le script lira les $ROW*$COL premiers caractères, et initialisera les occurences de voyelles comme des cellules << vivantes >>. Indice: assurez-vous de remplacer les espaces dans le fichier d'entrée par des caractères 'tiret bas'.
| Précédent | Sommaire | Suivant |
| Exercices | Niveau supérieur | Ecriture de scripts |