|
|
|
|
Bonsoir,
je voudrais savoir comment réaliser un script en bash permettant à l'utilisateur de choisir plusieurs programmes qu'il souhaite installer et ensuite les installer. Avec un choix q|Q pour quitter et i|I pour lancer l'installation.
J'en suis à la partie "choix multiple". J'ai déjà écris ceci mais il me semble pas que tout soit juste.
merci d'avance !
#!/bin/bash
echo -e "Choisissez le/les programmes à installer.\n
- 1 pour le programme 1\n
- 2 pour le programme 2\n
Appuyez sur la touche souhaiter, puis faites ENTER."
read Touche
while (($Touche != i|I) | ($Touche != q|Q)); do
case "$Touche" in
1) programe1 = 1;; # je ne sais pas comment mettre ici pour pouvoir réutiliser après
2) programme1 =1;; # je ne sais pas comment mettre ici pour pouvoir réutiliser après
done
if programe1 = 1 # pour valider l'installation du programme1
fi
if programe2 = 1 # pour valider l'installation du programme1
fi
# lance l'installation de tout les programmes sélectionnés
Configuration: Windows XP/Ubuntu 8.04 Firefox 2.0.0.14
Essaye cela. Getkey est un petit outils qui renvoi le code ASCII de la touche tapée. Le code ASCII de 1 est 49, celui de A est 64. Je te déconseille toutefois l'utilisation des lettres à cause de la différence Maj/Min.
@ECHO OFF :DEBUT CLS ECHO -------------------- ECHO 1 - Programme 1 ECHO 2 - Programme 2 ECHO 3 - Retour au DOS ECHO -------------------- :DEMANDE ECHO 1, 2, ou 3? GETKEY REM 52 prend en compte les touches autres que 1, 2 ou 3 IF ERRORLEVEL 52 GOTO DEMANDE IF ERRORLEVEL 51 GOTO L3 IF ERRORLEVEL 50 GOTO L2 IF ERRORLEVEL 49 GOTO L1 GOTO QUERY :L1 REM Commandes nécessaires pour lancer le programme 1 GOTO START :L2 REM Commandes nécessaires pour lancer le programme 2 GOTO START :L3 CLS Tu peux récupérer GETKEY.COM à cette adresse http://cjoint.com/?fywlvxmGoQ P.S. Mets le dans ton PATH Il y a certainement plus simple, mais ça tourne. SNOC XUA TROM (Vieille devise coloniale) |
Tu peux t'inspirer de ceci ,avec utilisatons de vecteurs (array) dans bash. Evidemment on y perd en portabilité, mais bash c'est bash, non ?
|