Aide pour déboguer un petit script.sh

Lami René lami at webestrie.com
Ven 2 Avr 18:31:40 UTC 2010


Bonjour,

J'ai produit le tutoriel « 
http://doc.ubuntu-fr.org/points_de_restauration_pour_un_systeme_linux » 
et une personne à ajouté une section Script « 
http://doc.ubuntu-fr.org/points_de_restauration_pour_un_systeme_linux#script 
», ce que j'apprécie grandement.

Je ne connais pas la programmation de script et il y a un petit bogue 
dans le script, alors pourriez-vous m'aider ?

Avec bash, le message d'erreur est le suivant :

rene at DV9700:~/sda6$ bash ./pr.sh
 : commande introuvable
 »pr.sh: line 13: Erreur de syntaxe près du symbole inattendu « in
'/pr.sh: line 13: `         case "$touche1" in

Avec sh, le message d'erreur est le suivant :

rene at DV9700:~/sda6$ sh ./pr.sh
: not found clear
./pr.sh: 13: Syntax error: word unexpected (expecting "in")
rene at DV9700:~/sda6$

Le script est le suivant :

#!/bin/bash
clear
while [ 1 -eq 1 ]
   do
   if ls ~/PointDeRestauration
      then
         echo " 1) Créer un point de restauration "

         echo " 2) Restaurer un point "

         echo " Taper le numéro de l'action que vous souhaitez ou CTRL-C 
pour quitter ce script : "
         read touche1
         case "$touche1" in
            1
               jour=$(date +%d)
               mois=$(date +%m)
               annee=$(date +%y)
               dpkg --get-selections > 
~/PointDeRestauration/$annee$mois$jour
               echo " Point de restauration "+ 
~/PointDeRestauration/$annee$mois$jour +" est créé avec succès !"
               ;;
            2
               ls ~/PointDeRestauration/*
               echo " Quelle est la date de point de restauration 
souhaitez-vous utiliser ? (AAMMJJ)"
               read touche2
               sudo dpkg --clear-selections
               sudo dpkg --set-selections < ~/PointDeRestauration/$touche2
               sudo apt-get dselect-upgrade
               echo " Votre système a été restauré avec succès !"
               ;;
         esac
      else
         mkdir ~/PointDeRestauration
      fi
done

Je crois comprendre qu'il y a un problème avec la variable « touche1 » 
et le paramètre « in » de la commande « case » !

Merci d'avance pour tout aide !

L'ami René
P.-S. Je suis programmeur analyste.




Plus d'informations sur la liste de diffusion ubuntu-fr