Bonjour,
Je cherche à faire un menu paramétrable pour que celui-ci n'affiche plus les étapes/questions déjà réalisées.
Voici ce que je fais :
- le script va chercher la valeur de variables E1, E2, E3.... correspondant à une action réalisée dans un fichier de configuration action_realisees.txt
Cela fonctionne mais je me demande s'il y a moyen de faire plus simple.
Fred M
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 #!/bin/bash #Fichier de configuration qui stocke les actions réalisées. Exemple : E1="Oui" alors l'Etape 1 n'est plus proposée. source action_realisees.txt #Etape 1 Etape1() { echo "Etape 1 réalisée" } #Etape 2 Etape2() { echo "Etape 2 réalisée" } #Etape 3 Etape3() { echo "Etape 3 réalisée" } echo "========================================================================================================" echo "Voulez-vous réinitialiser le menu ? (o/N)" echo "========================================================================================================" read -r ETP0 : "${ETP0:="N"}" if [[ ${ETP0} == [YyOo] ]]; then echo "Menu réinitialisé" echo>action_realisees.txt unset E1 E2 E3 fi #Test si Etape réalisée if [[ ${E1} == "" ]]; then echo "========================================================================================================" echo "Etape 1 : Voulez-vous faire l'étape 1 ? (o/N)" echo "========================================================================================================" read -r ETP1 : "${ETP1:="N"}" if [[ ${ETP1} == [YyOo] ]]; then Etape1 #Etape réalisée echo "E1=\"Oui\"">action_realisees.txt fi fi #Test si Etape réalisée if [[ ${E2} == "" ]]; then echo "========================================================================================================" echo "Etape 2 : Voulez-vous faire l'étape 2 ? (o/N)" echo "========================================================================================================" read -r ETP2 : "${ETP2:="N"}" if [[ ${ETP2} == [YyOo] ]]; then Etape2 #Etape réalisée echo "E2=\"Oui\"">>action_realisees.txt fi fi #Test si Etape réalisée if [[ ${E3} == "" ]]; then echo "========================================================================================================" echo "Etape 3 : Voulez-vous faire l'étape 3 ? (o/N)" echo "========================================================================================================" read -r ETP3 : "${ETP1:="N"}" if [[ ${ETP3} == [YyOo] ]]; then Etape3 #Etape réalisée echo "E3=\"Oui\"">>action_realisees.txt fi fi
Partager