vu que ton besoin est assez bien défini, tu peux te lancer
déjà récupères tes paramêtres
1 2
| #!/bin/sh
if [ $# -ne 4 ] ; then echo "erreur nombre de paramêtres" ; exit 1 ; fi |
compter les occurances
nombreoccureneces=$(grep -ic ${pattern} ${chemin}/${fichier})
1 2 3 4 5 6 7
| sh-4.2$ chemin='./'
sh-4.2$ fichier='toto'
sh-4.2$ pattern='c'
sh-4.2$ nombreoccurences=$(grep -ic ${pattern} ${chemin}/${fichier})
sh-4.2$ echo ${nombreoccurences}
3
sh-4.2$ rm toto |
pour la gestion du temps il suffit de faire une fonction
1 2 3 4 5 6 7 8 9 10
| timelimit()
{
while : ; do
compteur=$(( ${compteur} +1 ))
sleep 1
if [ ${compteur} -gt 60 ] ; then echo ${compteur} ; exit 2 ; fi
done
}
compteur=0
timelimit & |
tu as tous les éléments tu n'as plus qu'a assembler.
exemple concrêt de la fonction de limite de temps :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| sh-4.2$ cat > toto
#!/bin/sh
timelimit()
{
while : ; do
compteur=$(( ${compteur} +1 ))
sleep 1
if [ ${compteur} -gt 4 ] ; then echo ${compteur} ; exit 2 ; fi
done
}
compteur=0
timelimit &
echo lancé
^D
sh-4.2$
sh-4.2$ sh toto
lancé
sh-4.2$ 5
sh-4.2$ rm toto |
ça marche au bout de 5 secondes j'ai bien mon echo qui renvoi sur le terminal "5" alors que l’exécution du script toto est terminée, la fonction a bien traiter le délai tout en laissant la fin du script s'executer... (le echo lancé le prouve)
Partager