Problème de script bash (Linux)

Fermé
le-geek Messages postés 283 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 2 juillet 2014 - 9 avril 2014 à 17:24
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 9 avril 2014 à 18:14
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 ? :/

#!/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
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
Modifié par zipe31 le 9/04/2014 à 18:43
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 commandes
reboot
,
shutdown
et
pm-suspend
sont à placées avant les commandes
break
.

Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')
0