Problème bash mysql exécuable

Résolu
Bonjour,

voila mon programme :

#! /bin/sh
in=`mysql -p****** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E`
echo $in

la sortie est :

bin boot dev etc home lib lost+found mnt opt proc root sbin sys tmp usr var 1. row bin boot dev etc home lib lost+found mnt opt proc root sbin sys tmp usr var sum(visites_tooday): 8461

comme vous aurez pu le remarquer, le programme affiche en sortie la liste des dossiers et fichiers du dossier courant..
comment cela ce fait ?
comment corriger le problème ?

Merci d'avance
Configuration: Windows XP
Firefox 3.0.4

10 réponses

  1. Contributeur
    y a-t-il un caractère * dans le mot de passe ?

    in=`mysql -p'******' -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E` 
    1. Contributeur
      après le E c'est bien un back-quote `?

      essayer
      in=$(mysql -p****** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E)

      exécuter
      mysql -p****** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E
      interactivement ?
      1. ca donne la même chose :'(

        mysql -p** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E
        *************************** 1. row ***************************
        sum(visites_tooday): 4087

        pour le fichier :
        le problème est due au echo ....
        quand je commente la ligne echo il n'y a plus rien en sortie ...
        1. Contributeur
          parce que la commande retourne des ***
          echo * affiche les fichiers
          faire
          echo "$in"
          1. encore 1 pb ..

            exemple :
            j'exec ca mysql -p** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E

            ca me ressort ca
            *************************** 1. row ***************************
            sum(visites_tooday): 4243

            j'ecxec ca : mysql -p** -e "SELECT sum(visites_tooday) FROM db.uploads WHERE status='OK'" -E | cut -d")" -f2
            et ca me ressort :
            *************************** 1. row ***************************
            : 4246

            comment ressoretire seulement la valeur 4246
            1. Contributeur
              comme ça:
              mysql... | awk '/:/ {print $NF}'
              1. merci bcp la le pb est résolu :)