Bonjour,
Je dois écrire un script qui sera déployé sur plusieurs environnement différent avec des valeurs de connexions aux base de données qui varies selon les environnements.
J'ai fait un fichier de configuration externe appelé "paramètres.conf" qui contient les variables susceptibles de changer entre les environnements.
CHAINE_CONNEXION=valeur1/valeur2
DATA_BASE=dbName
Dans mon script j'aimerai faire un appel a ce fichier de configuration qui sera définit une fois pour toute dans chacun des environnements, et utiliser les variables comme si elle était définit dans le script lui même par :
$CHAINE_CONNEXION et $DATA_BASE
Comment puis je faire pour appeler dans mon script mon fichier de configuration ?
Si cela n'est pas possible y a t-il des solutions de contournement ?
Le but de la manœuvre est de ne pas avoir à changer les valeurs des variables de connexion aux base de données contenues dans le script lors qu'on le passera de l'environnement de DEV a celui de PROD par exemple.
Merci de votre lecture.
Cordialement,
Francois
# source le_fichier en bash
Posté par nono14 (site web personnel) . Évalué à 2.
Probablement de la même manière
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: source le_fichier en bash
Posté par francois chiausa . Évalué à 1.
Cependant j'ai comme un problème pour utiliser :
source le_fichier.conf ou ./le_fichier.conf
dans le_fichier.conf j'ai :
CHAINE_CONNEXION=valeur1/valeur2
dans mon script :
source le_fichier.conf
echo $CHAINE_CONNEXION # marche pas
echo $$CHAINE_CONNEXION # marche mais j'ai des numeros
j'obtiens lors de l'execution :
[ligne vide]
36044valeur1/valeur2
ce qui fait que la connexion a la base de données ne marche pas puisque j'éssais de me connecter avec 36044valeur1/valeur2 au lieu de valeur1/valeur2
Comment faire pour récupérer valeur1/valeur2 sans les numéro qui précèdent ?
Merci
Cordialement,
Francois
[^] # Re: source le_fichier en bash
Posté par nono14 (site web personnel) . Évalué à 1.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: source le_fichier en bash
Posté par gaaaaaAab . Évalué à 2.
[^] # Re: source le_fichier en bash
Posté par francois chiausa . Évalué à 1.
En fait
. le_fichier.conf
permet d'exécuter le fichier le_fichier.conf dans lequel j'ai déclaré des variables d'environnements parexport CHAINE_CONNEXION=valeur1/valeur2
Seulement ma question initiale été d'inclure le fichier conf a l'intérieur du script un peut comme en php avec include.
C'est pas possible de faire comme en php un genre de include le_fichier.conf ?
Juste une question par rapport a ta solution, si je définit une variable d'environnement qui s'appèle TOTO. Si un autre script utilise le même nom de variable TOTO et réassigne une valeur a toto est ce que cela changera la valeur contenu dans ma variable d'environnement ?
En gros n'y a t-il pas un risque de débordement de variable entre différents scripts ?
Merci
Cordialement,
Francois
[^] # Re: source le_fichier en bash
Posté par NeoX . Évalué à 2.
export CHAINE_CONNEXION=valeur1/valeur2
dans ton script
. /chemin/vers/ton/fichier_de_conf.conf
echo $CHAINE_CONNEXION
ou bien (selon les shells)
source /chemin/vers/ton/fichier_de_conf.conf
echo $CHAINE_CONNEXION
[^] # Re: source le_fichier en bash
Posté par francois chiausa . Évalué à 1.
Francois
[^] # Re: source le_fichier en bash
Posté par sov36 . Évalué à 1.
en shell, toute variable est variable d'environnement.*
*avec quelques exceptions près, genre en bash ou tu peux definir des variables locales à une fonction par exemple.
[^] # Re: source le_fichier en bash
Posté par Thomas Douillard . Évalué à 2.
Certe en shell, les variables d'environnements (des processus pères) sont utilisées pour créer les variables shell correspondantes.
Tu dois confondre avec des variables globales. Les variables en shell sont des variables globales, sinon.
[^] # Re: source le_fichier en bash
Posté par gnumdk (site web personnel) . Évalué à 2.
>précèdent ?
Les numéros, c'est parce que $$ veut dire pid du processus courant.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.