Bonjour!
J'ai souhaité m'entraîner au shell en créant un script qui dit quand le prochain bus est sensé passer. Les horaires sont stockés dans un fichier qui contient une suite d'horaires sous la forme 15h45, avec un horaire par ligne.
Mon script fonctionne, mais il ne semble d'une part pas du tout optimal, et je ne vois pas comment faire si dans l'heure qui suit il n'y a aucun bus disponible (par exemple si il est 18h30, et qu'il n'y a aucun bus entre 18h30 et 19h).
Voici le script :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #!/bin/bash OLDIFS=$IFS set $(date) jour_semaine=$1 IFS=: set $5 heure=$1 minute=$2 if [ $jour_semaine = "samedi" ] then horaire=horaires_samedi elif [ $jour_semaine = "dimanche" ] then horaires=horaires_dimanche else horaires=horaires_semaine fi IFS=$OLDIFS horairesmodif=`grep $heure $horaire | cut -d h -f 2` echo "$horairesmodif" for min in $horairesmodif do if [ $min -gt $minute ] then let "c = min - minute" echo "Bus dans $c minutes" fi done
Raphaël
Partager