Erreur Script Bash

Résolu/Fermé
su-toto Messages postés 45 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 8 novembre 2016 - Modifié par su-toto le 28/06/2014 à 12:15
su-toto Messages postés 45 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 8 novembre 2016 - 28 juin 2014 à 15:08
Bonjour,

Pourriez vous svp m'aider a deboguer un petit script de Mise a jour, j'ai une erreur lorsque que je tente de l'executer :


#!/bin/bash

cond='true'

echo "Bienvenue dans le script de Mise a jour !"

# On se met dans le rep. du script

cd /home/abcd-server/Bureau

# On verifie que l'on est en root

if [ $EUID -ne 0 ]; then


        echo "Veuillez vous connecter en Super-Utilisateur (Commande su dans le terminal)"
        exit
fi

# On lance la boucle, on n'en sort que si l'entrée est valide

while [ $cd = "true" ]; do

read -p ' Bienvenur Super-User. Voulez vous lancer mises a jour ? [O/N] ' -n 1 choix

if [ $choix = "n" ] || [ $choix = "N"]; then

        echo "Abandon"
        cond='false'

# l'utilisateur repond non avec "n" ou "N" cond passe a false et on sort de la boucle


elif [ choix = "o" ] || [ $choix = "O"]; then


        echo" "Lancement de YUM..."
        echo "Mise a jour des logiciels"
        yum upgrade
        echo "terminé"
        cond='false'
# l'utilisateur repond oui avec "o" ou "O" cond passe a false et on sort de la boucle

else

     echo "ERREUR"

# l'utilisateur repond n'importe quoi cond reste a true et on repart a la saisie

fi

done

# fin du if et du while et du script



Quand je l'execute, le terminal me renvoi :

  

./Script Mise a Jour2.sh: ligne46: Caractère de fin de fichier (EOF) prématuré lors de la recherche du « " » correspondant
./Script Mise a Jour2.sh: ligne55: Erreur de syntaxe : fin de fichier prématurée



Quelqu'un a une idée ? Merci pour votre aide !

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
28 juin 2014 à 12:18
Salut,

Ligne 37 :
echo" "Lancement de YUM..."
il y a un guillemet de trop ;-(
0
jee pee Messages postés 40512 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 décembre 2024 9 440
Modifié par jee pee le 28/06/2014 à 12:20
Salut,

Peut être parce qu'en 37 tu as une " en trop juste derrière echo.

cdlt

ps : la coloration syntaxique sur CCM n'est pas si mauvaise ;-)

        Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
su-toto Messages postés 45 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 8 novembre 2016 2
28 juin 2014 à 12:26
Autant pour moi, la couleur m'a bien aidé ! ( Ahlala ecrire des scripts dans vim me reussi décidement pas ! )
Voici le script corrigé (car bourré d'erreurs !)


#!/bin/bash

cond='true'

echo "Bienvenue dans le script de Mise a jour !"

# On se met dans le rep. du script

cd /home/abcd-server/Bureau

# On verifie que l'on est en root

if [ $EUID -ne 0 ]; then


        echo "Veuillez vous connecter en Super-Utilisateur (Commande su dans le terminal)"
        exit
fi

# On lance la boucle, on n'en sort que si l'entrée est valide

while [ $cond = 'true' ]; do

read -p ' Bienvenur Super-User. Voulez vous lancer mises a jour ? [O/N] ' -n 1 choix

if [ $choix = "n" ] || [ $choix = "N" ]; then

        echo "Abandon"
        cond='false'

# l'utilisateur repond non avec "n" ou "N" cond passe a false et on sort de la boucle


elif [ $choix = "o" ] || [ $choix = "O" ]; then


        echo "Lancement de YUM..."
        echo "Mise a jour des logiciels"
        yum upgrade
        echo "terminé"
        cond='false'
# l'utilisateur repond oui avec "o" ou "O" cond passe a false et on sort de la boucle

else

    	echo "ERREUR"

# l'utilisateur repond n'importe quoi cond reste a true et on repart a la saisie

fi

done

# fin du if et du while et du script




Désolé pour ce topic inutile, il m'aurrait suffit d'avoir un éditeur plus coloré !

Cordialement
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
28 juin 2014 à 12:30
Pour la coloration syntaxique dans vi/vim : http://www.zenzla.com/astuces/335-vi-coloration-syntaxique.html
0
su-toto Messages postés 45 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 8 novembre 2016 2
28 juin 2014 à 15:08
Merci beaucoup !
0