[Bash] Nommer une table SQL avec des variable

Résolu
Doezer Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   -  
Doezer Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un script dans lequel je veux créer une table SQL en utilisant deux variables :
if [[ 'mysql -uXXXX -pXXXX -e "SELECT * FROM log.connexions_groupes_$annee_$mois;"' != 0 ]];then 
 echo "CREATE TABLE log.connexions_groupes_$annee_$mois (Id AUTO_INCREMENT,  INTEGER, GroupName VARCHAR(30), Connections INTEGER);" >> /tmp/stats.sql 
fi


En tant que tel, je sais que la commande ne crée pas de SQL, mais j'ai besoin d'exporter les données dans un fichier pour les besoins du script.

Les deux variables sont bien intialisées.

Le problème c'est que le résultat créé dans le fichier donne :
CREATE TABLE log.connexions_groupes_08 (Id AUTO_INCREMENT,  INTEGER, GroupName VARCHAR(30), Connections INTEGER);

au lieu de
CREATE TABLE log.connexions_groupes_2011_08 (Id AUTO_INCREMENT,  INTEGER, GroupName VARCHAR(30), Connections INTEGER);


Merci de votre aide.
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Les deux variables sont bien initialisées.
Si on en croit le résultat il semblerait que non concernant l'année ;-\

Essaie d'afficher tes variables seules avant d'écrire dans ton fichier :
echo "Année = ${annee}" >> /tmp/stats.sql
echo "Mois = ${mois}" >> /tmp/stats.sql

Mets des accolades à tes variables afin de minimiser le risque d'erreur ;-\
0
Doezer Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   112
 
Salut,
J'avais déjà fait l'affichage, néanmoins je ne connaissais pas l'astuce des accolades et cela à résolu le problème.
Merci de ton aide !
0