Script shell affiche le nombre de jours d'un mois d'une année

amdnibrass Messages postés 25 Statut Membre -  
amdnibrass Messages postés 25 Statut Membre -
Bonjour,
j'ai ecrit ce script et lorsque je fait l'execution en tapant sur le terminal ./jour $1 $2 (jour le nom du progrmme) il m'affiche ces erreurs :

./jour : ligne 12 : erreur de synthaxe prés de symbole inattendu <<else>>
./jour : ligne 12 : 'else'
quelqu'un m'aider svp :)

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    j'ai ecrit ce script
    Et il est où ???

    Sans le voir difficile de t'aider ;-(
    0
    1. amdnibrass Messages postés 25 Statut Membre
       
      hhhhhhh je l'oubli
      0
    2. amdnibrass Messages postés 25 Statut Membre
       
      attends
      0
    3. amdnibrass Messages postés 25 Statut Membre
       
      #script jour 
      
      if ( test $1 -lt 1 -o $1 -gt 12 )
      then echo erreur 
      fi 
      if ( test $1 -eq 1 -o $1 -eq 3 -o $1 -eq 5 -o $1 -eq 7 -o $1 -eq 8 -o $1 -eq 10 -o $1 -eq 12 )
      then echo  31
      else if ( test $1 -eq 2 -a 'expr $2 % 400' -eq 0 -o \( 'expr $2 % 4' -eq 0 -a 'expr $2 % 100' -ne 0 \) )
               then echo 29
               else echo 28 
               fi 
      else  echo 30
      fi
      
      0
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Effectivement, la syntaxe
      if ... then ... else
      avec plusieurs conditions après le
      then
      s'écrit avec
      elif
      et non avec
      else if...
      ;-\

      Essaye de récrire ton script en t'inspirant de la syntaxe suivante :
      if <condition>
      then
      <traitement>
      elif <condition>
      then
      <traitement>
      elif <condition>
      then
      <traitement>
      etc.

      else
      <traitement>
      fi

      Tant qu'on y est, mettre un shebang (#!/bin/bash) en début de script est une bonne habitude à prendre ;-)
      0
    5. amdnibrass Messages postés 25 Statut Membre
       
      ok :)
      0