Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de syntaxe

edition script

Sujet résolu
    2 mai 2019 à 0:14:57

    j'ai cree un script qui pour chaque état je parcours la liste des ville et calcule le nombre total des habitants et des crimes

    a l'execution j'ai ce probleme

    ./synthese.sh: ligne 17: erreur de syntaxe près du symbole inattendu « done »
    ./synthese.sh: ligne 17: `done<$1'

    voila mon script

    declare -A crime population
    declare -a etat
    i=0
    IFS=";"
    while read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13
          if [[ -z "$a1" ]]
          then
            crime[${etat[$i]}]= $((crime[etat[$i]]+a4))
            population[${etat[$i]}]=$(( population[${etat[$i]}]+a3))
        
          else
                let i++
         etat[$i]=$a1
         crime[${etat[$i]}]=$a4
         population[${etat[$i]}]=$a3
         
          fi
         
    done<$1  #ligne 17

          for i in ${!etat[@]};do
          echo "${etat[$i]} | crime[${etat[$i]}] |population[${etat[$i]}]"
     done

    je vous pris de m'aider

    merci d'avance

    PS : si vous remarquez d'autre erreur n'hesitez pas a me les signaler
         
         

    • Partager sur Facebook
    • Partager sur Twitter
      2 mai 2019 à 1:00:03

      salut,

      il manque un do :

      while ...
      do
         ...
      done

      d'autre part

      les variables doivent avoir un nom évocateur de ce qu'elles contiennent
      les développements des variables doivent toujours être mis entre guillemets
      les guillemets sont, par contre, facultatifs entre [[ ]]
      let ++in'est pas indispensable :

      else
         etat+=( "$a1" )
         crime["$a1"]="$a4"

      enfin, quand tu postes du code, utilise la balise code pour le distinguer du texte.
      et ne mets pas en Résolu avant d'avoir eu une réponse qui résout effectivement ton problème.

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

      erreur de syntaxe

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown