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
A voir également:
- Programmation shell sh
- Classic shell - Télécharger - Personnalisation
- Application de programmation - Guide
- Fichier .sh - Forum Shell
- Programmation aria soho ✓ - Forum LG
- Classic shell c'est quoi ✓ - Forum Windows 10
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
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