Est-ce que ça vous semble correct ou y-a-t-il mieux ?

Dans mon script “sauvegarde”, j’ai ajouté la possibilité de sauvegarder aussi un clone de ma sid plus un clone d’une /home séparée.
Cela donne 4 possibilités sur un seul script :
sauvegarder sur une partition d’un DDext (sauve)
sauvegarder sur une seconde partition (sauve2)
sauvegarder un clone complet d’une sid sur une 3e part.(sauve-clone)
sauvegarder un clone de /home sur une 4e part. (sauve-clone-Home)
Ces deux dernières partitions font une sid parfaitement fonctionnelle.
Je n’ai rien modifié de mon script initial, sinon ajouter la suite des variables et modifié le dernier bloc.
Les 4 sauvegardes ont été testées et tout fonctionne parfaitement
C’est sur ce bloc que je voudrais avoir votre avis, sachant que “case” 1) et 2) doivent être exécutés l’un après l’autre mais que “case” 3) et 4) doivent l’être individuellement.
Sachant aussi que “index” est donné plus haut dans le script.

read -p "prêt pour la sauvegarde ? o/* : " onyva if [ "$onyva" = o ] then case ${index} in 1|2) for index in '1' '2' do sauvegarde "${exclure[$index]}" "${dossier_a_sauver[$index]}" "${sauve[$index]}" done ;; 3|4) sauvegarde "${exclure[$index]}" "${dossier_a_sauver[$index]}" "${sauve[$index]}" ;; esac fi

Qu’est ce qui indique à l’utilisateur ce que représente chaque chiffre ? Tu peux montrer les 10 lignes précédentes ?

Voilà que les points importants pour la compréhension

function sauvegarde()
{

sudo rsync -av --del --exclude-from=[color=#FF0000][b]"$1" "$2" "$3"[/b][/color]
  
	+ blabla

}

mount_rep="/mnt/autre"

la première donnée, vide, figure le [0], de façon à commencer par [1]

ddext=(’’ ‘/dev/sdb9’ ‘/dev/sdb10’ ‘/dev/sdb7’ ‘/dev/sdb1’)
systeme_fich=(’’ ‘ext3’ ‘ext2’ ‘ext3’ ‘ext3’)
exclure=(’’ ‘/root/exclure’ ‘/home/ricardo/.exclure’ ‘/root/exclure’ ‘/home/ricardo/.exclure’)
sauve=(’’ ‘/mnt/autre/sauve’ ‘/mnt/autre/sauve-ricardo’ ‘/mnt/autre’ ‘/mnt/autre/ricardo’)
dossier_a_sauver=(’’ ‘/’ ‘/home/ricardo/’ ‘/’ '/home/ricardo/’)

CE QUI EST EN ROUGE A ÉTÉ AJOUTÉ PAR RAPPORT AU SCRIPT D’ORIGINE

PS3="Entrez le N° de la sauvegarde choisie : "
select choix_sauvegarde in “sauve” “sauve2” “sauve-clone” “sauve-Home-clone” quitter
do
case ${REPLY} in
[1,2,3,4]) ### avant : [1-2] ### “[1-4])” ???
index=${REPLY}
if [ ! -e “${ddext[$index]}” ]
then
printf “\n Impossible de se connecter à %s \n Vérifiez qu’il s’agit de la bonne partition et recommencez \n” “${ddext[$index]}” >&2; exit 1;
else
if ! grep -q “^${ddext[$index]} “${mount_rep}” ${systeme_fich[$index]}” /etc/mtab
then
sudo mount -t “${systeme_fich[$index]}” “${ddext[$index]}” “${mount_rep}” || { deja_montee=1; sortie_propre; }
break
else

	+ blabla

Bloc reconstruit :

read -p "prêt pour la sauvegarde ? o/* : " onyva if [ "$onyva" = o ] then case "$index" in 1|2) for choix in '1' '2' do sauvegarde "${exclure[$choix]}" "${dossier_a_sauver[$choix]}" "${sauve[$choix]}" done ;; 3|4) sauvegarde "${exclure[$index]}" "${dossier_a_sauver[$index]}" "${sauve[$index]}" ;; esac fi

C’EST SURTOUT LE DERNIER BLOC POUR LEQUEL J’AIMERAIS SAVOIR SI ON PEUT AMÉLIORER ?
COMME IL EST IL FONCTIONNE PARFAITEMENT.
JE RAPPELLE QUE 1 ET 2 DOIVENT ÊTRE EXÉCUTÉ L’UN APRÈS L’AUTRE OBLIGATOIREMENT
MAIS QUE
3 ET 4 SONT À EXÉCUTER INDIVIDUELLEMENT, AU CHOIX.

EDIT :
Pour éviter la confusion, j’ai modifié le ‘index’ du ‘for’ par “choix”