IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script shell / batch


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Par défaut Script shell / batch
    Bonjour tous le monde,

    Mon niveau en Linux/Shell/Batch "tant plus que doutable... je viens demander de l'aide à ceux qui savent !

    J'ai fais plein de recherches sur notre bon vieil ami Google mais il m'aura fait défaut cette fois-ci...
    J'ai trouvé plein de sources mais mon code me parait correct à la vue de celles-ci :s

    Bref voilà mon petit bout de code si vous pouviez m'aider vous seriez géniaux!

    En gros on commence par charger un fichier de config pour les identifiant sql
    puis on demande d’exécuter tous les fichiers .sql d'un répertoire... comme ca, ça avait l'air simple

    [EDIT]Je suis sous debian

    Grrr Re Edit: j'en ai oublié le plus important l'erreur renvoyée...

    Le système me renvoie sois des problèmes de syntaxe soit une fin de fichier prématurée ainsi que "commande introuvable" à chaque fois qu'il renconter une ligne vide.
    J'édite mes fichiers sous notepad++[/EDIT]


    Bon allez assez de blabla voila du contenu! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/sh
     
    if [ -f mysql_settings.sh ]; then
            . mysql_settings.sh
    else
            echo "Can't find mysql_settings.sh file!"
            exit
    fi
     
    for sqlfile in install/*.sql
    do
            echo Loading $sqlfile ...
            mysql -h $DBHOST -u $USER --password=$PASS -D $DBNAME < $sqlfile
    done
    Merci d'avance à tous ceux qui auront le temps de m'aider

    WL

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Bonjour,

    Et quel est le problème au juste ?
    As-tu des erreurs ?

    Car à vu de nez, cela semble correcte sauf si dans le nom de tes fichiers, il y a des espaces...

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    passe ton script via la commande dos2unix pour le convertir en format unix.
    Ou dit à ton éditeur d'enregistrer en mode unix (enfin, s'il c'est le faire...)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Par défaut
    Merci pour vos réponse, mais apparemment vous avez du lire mon message avant mon edit.... je me suis rendu compte que j'oubliais de vous parler des erreurs justement .

    Aucun espace dans les noms de fichiers, il n'y à que des "_" pour faire les pseudos espaces.

    Comme je le disais mon niveau sous Linux est assez déplorable et donc je ne suis pas capable d'agir selon cette réponse ... dsl, il faudrait me guider un peu plus
    passe ton script via la commande dos2unix pour le convertir en format unix.
    Ou dit à ton éditeur d'enregistrer en mode unix (enfin, s'il c'est le faire...)

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    En gros, dans tes 2 fichiers .sh tu doit être en format dos au lieu d'un format unix. Tu peux le voir en fesant sous ton linux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat -A nom_du_fichier.sh
    tu devrais voir apparaitre des '^M' à la fin de chacune de tes lignes
    pour corriger cela, toujours sous ton linux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dos2unix nom_du_fichier.sh
    et si tu refais la commande cat -A , tu constateras que les '^M' ont disparu.
    Et en principe, ceux-ci devrait fonctionner.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Par défaut
    Super!
    Apparemment ça serait la bonne piste car j'ai bien des ^M$ à chaque fin de ligne...

    Le problème maintenant c'est que je ne réussi pas à entrer la commande pour modifier le fichier.
    J'ai donc tapé:
    et ca me renvoie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -bash: dos2unix : commande introuvable
    Sans me modifier le fichier bien sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion d'un script shell Linux vers un batch Windows
    Par captu dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 19/01/2010, 11h22
  2. Script , Shell , Batch , Bash?
    Par A_B dans le forum Windows XP
    Réponses: 8
    Dernier message: 05/06/2007, 21h23
  3. Conversion d'une procédure du script shell vers le batch dos
    Par marlenjp dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/10/2006, 14h42
  4. Explication script shell
    Par crasho007 dans le forum Linux
    Réponses: 2
    Dernier message: 14/06/2004, 13h54
  5. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo