Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1397 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script shell renvoi erreur à l'éxécution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script shell renvoi erreur à l'éxécution

n°820259
alexmat
linux c'est l'avenir
Posté le 19-06-2006 à 12:10:22  profilanswer
 

bonjour, je fais mes premiers pas dans les scripts shell et je rencontre un problème avec un script particulier. Le but de ce script est de classer par ordre croissant 2 valeurs rentré lors de l'éxécution. Cette parti fonctionne bien lorsqu'il y a 2 valeurs de rentré. Le problème c'est que quand on ne rentre qu'une valeur, il le script doit demander une autre valeur et la comparer à celle déjà rentré, et c'est là que ça coince. Voici le detail de mon script :
 

Citation :

#!/bin/sh
case $# in
0) echo il manque deux arguments, entrez votre nombre:;;
1) echo il manque un argument, entrer votre nombre:; read var
 `if [ $1 -gt $var ] ;then echo "$var est inferieur a $1"; else echo "$1 est inferieur a $var"`;;
2) if [ $1 -gt $2 ] ;then echo "$2 est inferieur a $1"; else echo "$1 est inferieur a $2";
fi
esac


 
à noter que pour le moment c'est normal qu'il s'arrete sur un message lorsqu'il n'y a aucun argument.
Merci d'avance à toutes celles et ceux qui pourront m'aider.

mood
Publicité
Posté le 19-06-2006 à 12:10:22  profilanswer
 

n°822361
youx21
Posté le 26-06-2006 à 14:59:34  profilanswer
 

alexmat a écrit :

bonjour, je fais mes premiers pas dans les scripts shell et je rencontre un problème avec un script particulier. Le but de ce script est de classer par ordre croissant 2 valeurs rentré lors de l'éxécution. Cette parti fonctionne bien lorsqu'il y a 2 valeurs de rentré. Le problème c'est que quand on ne rentre qu'une valeur, il le script doit demander une autre valeur et la comparer à celle déjà rentré, et c'est là que ça coince. Voici le detail de mon script :
 

Citation :

#!/bin/sh
case $# in
0) echo il manque deux arguments, entrez votre nombre:;;
1) echo il manque un argument, entrer votre nombre:; read var
 `if [ $1 -gt $var ] ;then echo "$var est inferieur a $1"; else echo "$1 est inferieur a $var"`;;
2) if [ $1 -gt $2 ] ;then echo "$2 est inferieur a $1"; else echo "$1 est inferieur a $2";
fi
esac


 
à noter que pour le moment c'est normal qu'il s'arrete sur un message lorsqu'il n'y a aucun argument.
Merci d'avance à toutes celles et ceux qui pourront m'aider.


 
personnellement j'aime bien les blocs structurés

Code :
  1. #!/bin/sh
  2. case $# in
  3. 0) echo il manque deux arguments, entrez votre nombre:;;
  4. 1)
  5. echo "il manque un argument, entrer votre nombre:"
  6. read var
  7. if [ $1 -gt $var ]
  8. then
  9.  echo "$var est inferieur a $1"
  10. else
  11.  echo "$1 est inferieur a $var"
  12. fi
  13. ;;
  14. 2) if [ $1 -gt $2 ] ;then echo "$2 est inferieur a $1"; else echo "$1 est inferieur a $2";
  15. fi
  16. esac


 
 
pense aussi à tester si ils sont numériques...


Message édité par youx21 le 26-06-2006 à 14:59:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script shell renvoi erreur à l'éxécution

 

Sujets relatifs
Script linux pour relancer serviceScript shell
openssl et scriptutiliser un CTRL-T dans un script shell ?
Script bash[shell]recupérer l 'état d une connexion?
Hylafax (Erreur FIFO: open: No such device or address)[corrigé] erreur 404, phpmyadmin sous Debian
Plus de sujets relatifs à : script shell renvoi erreur à l'éxécution


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR