Erreur Script Bash
Résolu
su-toto
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
su-toto Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
su-toto Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
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 :
Quand je l'execute, le terminal me renvoi :
Quelqu'un a une idée ? Merci pour votre aide !
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 !
A voir également:
- Erreur Script Bash
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Bingo bash - Télécharger - Divers Jeux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
3 réponses
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é.
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é.
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 !)
Désolé pour ce topic inutile, il m'aurrait suffit d'avoir un éditeur plus coloré !
Cordialement
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