Programmation shell sh
Guillaume
-
lami20j -
lami20j -
Bonjour,
j'essai d'écrire un script qui affiche un menu et qui en cas d'erreur sur le choix du menu retourne un message d'erreur voici mon code :
#!/bin/sh
echo "choix 1-: calcul de ma moyenne "
echo "choix 2-: calcul de la somme "
echo "choix 3-: le minimum "
echo "choix 9-:Quitter"
read choix
while [ choix != "9" ]
do
case
1 ) echo "Je calcule cela"
2 ) echo "Je fais ca immédiatement"
3 ) echo "boubourse c'est facile mais je le fais"
9 ) break
* ) echo "Hé tu sais lire ou pas "
esac
read choix
done
et ce me renvoi comme erreur apres lecture du choix :
./essai.sh: 12: Syntax error: newline unexpected (expecting word)
Pouvez vous m'aidez s'il vous plaît?
Une autre question également je voudrai savoir comment fait t-on la division entiere de 2 arguments ?
En vous remerciant
j'essai d'écrire un script qui affiche un menu et qui en cas d'erreur sur le choix du menu retourne un message d'erreur voici mon code :
#!/bin/sh
echo "choix 1-: calcul de ma moyenne "
echo "choix 2-: calcul de la somme "
echo "choix 3-: le minimum "
echo "choix 9-:Quitter"
read choix
while [ choix != "9" ]
do
case
1 ) echo "Je calcule cela"
2 ) echo "Je fais ca immédiatement"
3 ) echo "boubourse c'est facile mais je le fais"
9 ) break
* ) echo "Hé tu sais lire ou pas "
esac
read choix
done
et ce me renvoi comme erreur apres lecture du choix :
./essai.sh: 12: Syntax error: newline unexpected (expecting word)
Pouvez vous m'aidez s'il vous plaît?
Une autre question également je voudrai savoir comment fait t-on la division entiere de 2 arguments ?
En vous remerciant
Configuration: Linux Firefox 3.0.16
5 réponses
-
Salut,
lami20j@debian-acer:~/shell$ cat choix.sh #!/bin/sh echo "choix 1-: calcul de ma moyenne " echo "choix 2-: calcul de la somme " echo "choix 3-: le minimum " echo "choix 9-:Quitter" read choix while [ choix != "9" ] do case $choix in '1' ) echo "Je calcule cela" ;; '2' ) echo "Je fais ca immédiatement" ;; '3' ) echo "boubourse c'est facile mais je le fais" ;; '9' ) break ;; * ) echo "Hé tu sais lire ou pas " ;; esac read choix done lami20j@debian-acer:~/shell$ sh choix.sh choix 1-: calcul de ma moyenne choix 2-: calcul de la somme choix 3-: le minimum choix 9-:Quitter 1 Je calcule cela 2 Je fais ca immédiatement 3 boubourse c'est facile mais je le fais 45 Hé tu sais lire ou pas 9 -
-
Re,
Ca aurait sympa de nous montrer ce que tu as essayé.
Voici pour la division entière
lami20j@debian-acer:~/shell$ cat division.sh #!/bin/sh if [ $# -ne 2 ] then echo "Usage : $0 n1 n2" exit 1 fi if [ $2 -eq 0 ] then echo "Division par zéro" exit 2 else echo "$1 / $2 = " $(($1/$2)) fi lami20j@debian-acer:~/shell$ ./division.sh Usage : ./division.sh n1 n2 lami20j@debian-acer:~/shell$ ./division.sh 6 Usage : ./division.sh n1 n2 lami20j@debian-acer:~/shell$ ./division.sh 60 20 60 / 20 = 3 lami20j@debian-acer:~/shell$ ./division.sh 60 27 60 / 27 = 2 lami20j@debian-acer:~/shell$ ./division.sh 0 7 0 / 7 = 0 lami20j@debian-acer:~/shell$ ./division.sh 9 0 Division par zéro
-
Merci beaucoup lamij20 ! C'est que je début en script schell je suis en DUT informatique 1ere année et que j'avais tenté ca une expresion courte comme echo `expr $1 / $2 ` mais ca n'avait pas marché
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -