Erreur Script Bash
Résolu
su-toto
Messages postés
51
Statut
Membre
-
su-toto Messages postés 51 Statut Membre -
su-toto Messages postés 51 Statut Membre -
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 free - Télécharger - Divers Jeux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
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