[Bash] Nommer une table SQL avec des variable
Résolu
Doezer
Messages postés
256
Date d'inscription
Statut
Membre
Dernière intervention
-
Doezer Messages postés 256 Date d'inscription Statut Membre Dernière intervention -
Doezer Messages postés 256 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 :
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 :
au lieu de
Merci de votre aide.
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.
1 réponse
-
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 ;-\