[bash] problème d'appel d'une variable dans une boucle.
Bonjour, je suis en train de faire un script pour sauvegarder entre autres choses des bases Mysql. J'essaie de garder le script le plus général possible, histoire de faciliter sa ré-utilisation.
Dans mon code J'initialise un compteur avec une valeur donnée. Puis je lance une boucle while dont la condition est le fait que le compteur est différent de 0.
Puis j'essaie de faire un dump de mes bases pour chaque valeur du compteur.
J'ai une variable dbn qui contient le string DB_NAME concaténer avec la valeur de mon compteur dbc.
Le problème c'est qu'il faudrait que j'appelle la valeur d'une variable avec la valeur d'une variable, et je ne sais pas comment faire, ni même si c'est possible.
J'ai bien pensé à travailler avec un tableau pour contourner le problème mais si je pouvais éviter (je n'ai pas trop l'habitude des tableaux...).
(Dans le code ci-dessous je n'ai mis la déclaration que pour les variables où le problème ce situe histoire de gagner de la place)
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
| #!/bin/bash
#liste des bases à sauvegarder
DB_NAME1="oceb"
DB_NAME2="gldb"
DB_NAME3="mysql"
DB_COUNT="3"
#dbc compteur désignant numéro de la base en cours de traitement
dbc="$DB_COUNT"
#dump des bases
while [ $dbc != "0" ]
do
dbn="DB_NAME"$dbc""
echo "" >> $LOG_FILE
echo "Dump de la base $dbn" >> $LOG_FILE
mysqldump -v --add-drop-table --complete-insert --extended-insert
--quote-names --host=$SQL_HOST --user="$SQL_USER"
--password="$SQL_PWD" $"$dbn" > $DIR_SAV_MK/$dbn_$DATE.sql
2>> $LOG_FILE
let dbc=dbc-1
done |
Donc si quelqu'un avait une solution ou au moins une piste à explorer.
Merci.