Problème de script bash (Linux)
le-geek
Messages postés
409
Statut
Membre
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'essaie de faire un script qui permettrait de reboot, eteindre le pc etc.. car mon pc ne s'éteint pas entièrement, il ne fait que se déconnecter. et pareil pour d'autres pc. j'ai fais un script sous windows et il fonctionnait. j'ai donc choisis d'en écrire un autre sous linux car j'ai le même petit problème :)
le problème c'est que sous windows je peux faire de simples goto, sous linux je ne peux pas en faire et donc j'ai essayé une alternative à cette commande, un while do. le problème est que il casse tout le script, rien ne s'affiche et évidement il ne fonctionne pas ><.
Des gens seraient capable de m'aider s.v.p ? :/
le problème c'est que sous windows je peux faire de simples goto, sous linux je ne peux pas en faire et donc j'ai essayé une alternative à cette commande, un while do. le problème est que il casse tout le script, rien ne s'affiche et évidement il ne fonctionne pas ><.
Des gens seraient capable de m'aider s.v.p ? :/
#!/bin/bash
OUI="oui"
NON="non"
REBOOT="r"
FORCE="f"
while [ "$REPONSE" -ne "$OUI" ] || ["$REPONSE" -ne "$NON" ] || ["$REPONSE" -ne "$REBOOT" ] || [ "$REPONSE" -ne "$FORCE" ]
do
echo "Voulez vous vraiment éteindre le PC ? oui/non"
echo "r = reboot, f = force shutdown"
read REPONSE
if test "$REPONSE" = "$OUI"
then
echo "Le PC va s éteindre dans quelques instants."
echo "..."
# ICI LA COMMANDE POUR LE SHUTDOWN NOW
read
elif test "$REPONSE" = "$NON"
then
echo "D'accord, le programme va s'arrêter. veuillez presser"
echo "sur ENTER."
read
elif test "$REPONSE" = "$REBOOT"
then
echo "Le PC va redémarrer, veuillez patienter..."
# ICI LA COMMANDE POUR LE REBOOT
read
elif test "$REPONSE" = "$FORCE"
then
echo "Vous avez choisis de forcer l'arrêt du PC."
echo "le PC va s'éteindre très bientôt."
read
else
echo "Erreur, commande invalide."
fi
done
1 réponse
-
Salut,
Essaie plutôt avec un truc comme ça :
#! /bin/bash while true do echo " Que voulez-vous faire ? 1 - Rebooter 2 - Éteindre 3 - Mettre en veille 4 - La réponse 4 Entrez votre choix : " read reponse case "${reponse}" in 1) echo "Vous avez choisi de rebooter votre PC." break ;; 2) echo "Vous avez choisi d'éteindre votre PC." break ;; 3) echo "Vous avez choisi de mettre votre PC en veille." break ;; 4) echo "Vous avez choisi La réponse 4." echo "Recommencez s'il vous plaît." continue ;; *) echo "Mauvais choix ! Recommencez s'il vous plaît." continue ;; esac done
Les commandesreboot
,shutdown
etpm-suspend
sont à placées avant les commandesbreak
.
Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')