Je souhaite me faire un script pour gérer mes sauvegardes tar.gz et pour cela, je me suis lancé dans al conception d'un menu avec plusieurs choix.
Malheureusement je débute et j'ai quelques soucis que j'ai grand mal à résoudre.
Voici le script (il n'y a pas encore le code de la sauvegarde proprement dite) :
Code :
- #!/bin/bash
- function aide()
- {
- echo ""
- echo "Sauvegarde Spheerys"
- echo "==================="
- echo ""
- echo " 1 - simple compression des donnees dans /sauvelinux"
- echo " a) sauvegarde manuelle de evolution.tar.bz2"
- echo " b) sauvegarde manuelle de ecliptux.tar.bz2"
- echo " c) sauvegarde manuelle de etc.tar.bz2"
- echo " d) sauvegarde manuelle de root.tar.bz2"
- echo " 2 - compression des donnees dans /sauvelinux puis delocalisation /mnt/sauvelinux"
- echo " 3 - realisation d'une iso dans /sauvelinux"
- echo " 4 - gravage de l'iso dans /media/cdrom0"
- echo " q - quitter"
- echo ""
- echo "Choix : "
- read reponse
- }
- if [ $# > 0 ]
- then
- reponse=$1
- fi
- while [ "$reponse" -ne "q" ]
- do
- if [ "$reponse" -ne "1"
- && "$reponse" -ne "2"
- && "$reponse" -ne "3"
- && "$reponse" -ne "4"
- && "$reponse" -ne "a"
- && "$reponse" -ne "b"
- && "$reponse" -ne "c"
- && "$reponse" -ne "d"
- && "$reponse" -ne "q" ]
- then
- aide
- fi
- case $reponse in
- 1) echo "Choix 1 lance"
- reponse=q
- ;;
- 2) echo "Choix 2 lance"
- reponse=q
- ;;
- 3) echo "Choix 3 lance"
- reponse=q
- ;;
- 4) echo "Choix 4 lance"
- reponse=q
- ;;
- a) echo "Choix a lance"
- reponse=q
- ;;
- b) echo "Choix b lance"
- reponse=q
- ;;
- c) echo "Choix c lance"
- reponse=q
- ;;
- d) echo "Choix d lance"
- reponse=q
- ;;
- q) reponse=q
- ;;
- esac
- done
|
Seulement, qd je lance le script, voilà l'erreur :
Citation :
[ecliptux]@[~/Systeme/Scripts]$ savelinux
/home/ecliptux/bin/savelinux: line 34: syntax error near unexpected token `&&'
/home/ecliptux/bin/savelinux: line 34: ` && "$reponse" -ne "2" '
|
J'ai lu pas mal de doc sur les boucles IF etc.... mais j'ai du mal à trouver la syntaxe exacte dans le cas de tests multiples. Mais peut-être y a t'il une manière plus élégante de coder cette étape
Message édité par ecliptux le 21-11-2004 à 14:52:11
---------------
Il existe mille manières d'agir, et une seule de ne rien faire.