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   -
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

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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