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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Factorielle sous Unix (Résolu)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Factorielle sous Unix (Résolu)

n°1114281
User Name
Posté le 18-02-2009 à 13:47:53  profilanswer
 

Bonjour,
J'ai codé un script affichant le résultat de la factorielle d'un nombre passé en paramètre comme suit:
 

Code :
  1. #!/bin/bash
  2. if [ a >= 0 ]; then
  3.     factorielle = 1
  4.     if [ $a > 0 ]; then
  5.     while [ $a -ne 1 ]; do
  6.  let factorielle = $factorielle*a
  7.         let a = $a-1
  8.     done
  9. echo $factorielle
  10.     else
  11. echo "Tape pas un nombre négatif!"
  12.     fi
  13. fi


 
Mais j'ai une erreur me disant: ./factorielle.sh: line 5: [: a: unary operator expected
Pourquoi?
Merci d'avance


Message édité par User Name le 18-02-2009 à 14:33:08

---------------
"Pour diriger un troupeau de 1000 vaches, il faut 1 bâton. Pour diriger un troupeau de 1000 hommes, il faut 1000 bâtons. Pour diriger un troupeau de 1000 français, il faut beaucoup beaucoup de bâtons." - Proverbe africain
mood
Publicité
Posté le 18-02-2009 à 13:47:53  profilanswer
 

n°1114296
RiderCrazy
Posté le 18-02-2009 à 14:04:55  profilanswer
 

Problème avec ta condition du while [:spamafote]

n°1114316
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 18-02-2009 à 14:31:59  profilanswer
 

$a n'a pas de valeur...


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1114318
User Name
Posté le 18-02-2009 à 14:32:34  profilanswer
 

Effectivement,
Les opérateurs n'étaient pas bons non-plus (je confonds beaucoup Unix avec Java) et il n'y a pas d'espaces autour des "=".
 
Ligne 12: let factorielle = $factorielle*$a
 
Merci de votre aide!


Message édité par User Name le 18-02-2009 à 14:33:00

---------------
"Pour diriger un troupeau de 1000 vaches, il faut 1 bâton. Pour diriger un troupeau de 1000 hommes, il faut 1000 bâtons. Pour diriger un troupeau de 1000 français, il faut beaucoup beaucoup de bâtons." - Proverbe africain
n°1114324
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 18-02-2009 à 14:48:16  profilanswer
 

la prochaine fois tu pourras faire ton exo seul comme ça ;)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me

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

  Factorielle sous Unix (Résolu)

 

Sujets relatifs
[Résolu] SSH et longueur de ligneMachine virtuelle Unix sous Windows ?
[Résolu] Installation OMSA sous OpenSuse 11.1[pas résolu mais OK] Comment réparer avec fsck ? (dosfsck)
[résolu] probleme d'installation mandriva 2009Questions sur les droits sudo sous Unix
[RESOLU]centos 5.2 avec FGLRXRESOLU Suggestions pour trouver le plus grand fichier
ligne de commande vlc 
Plus de sujets relatifs à : Factorielle sous Unix (Résolu)


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