Menu paramétrable suivant les étapes réalisées
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:
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 |