Commande shell inclure un fichier de variable

Fermé
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 2 avril 2008 à 11:31
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 2 avril 2008 à 16:36
Bonjour,

Voilà j'aimerai dans mon script shell appeler le contenu d'un fichier de conf de base.

Par exemple :
dans mon script dev.sh j'appel le contenu du fichier base.conf et j'utilise ensuite les variables défini dans base.conf dans dev.sh.

J'espère avoir été clair.

J'ai vu dans un autre poste qu'on pouvait utiliser un point "." donc j'ai essayer de l'adapter pour le mettre dans mon script et ça donne ça mais ça marche pas.

Merci beaucoup de votre aide en tout cas.

Cordialement,
A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2008 à 14:36
est-ce que base.conf est dans /home/user ? essayer . ./base.conf
est-il dans $PATH ?
est-il exécutable ? ls -l base.conf ; chmod u+x base.conf
et il faut exporter les variables:
VAR="hello" ; export VAR
4
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
2 avril 2008 à 15:03
alors base.conf est bien dans /home/user
il est bien exécutable par tout les utilisateurs.

Par contre je ne l'ai pas ajouté dans le PATH

Et quand tu dis "exporter les variables" ça veut dire quoi exactement ? que dans mon fichier dev.sh j'aurai quelque chose comme :
...
export VAR
echo $VAR

c'est ça ?

Merci.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2008 à 12:36
hello
. doit fonctionner , si c'est du bash, essayer source base.conf
0
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
2 avril 2008 à 14:31
Voici mon fichier dev.sh aujourd'hui :

#!/bin/sh

cd /home/user

. base.conf

echo $VAR

Et dans mon fichier base.conf il y a ça :
#!/bin/sh

VAR="hello"

Quand j'exécute dev.sh il me met comme erreur :
.: 5: base.conf: not found

Et donc le ". base.conf" n'est pas pris en compte. En fait dans le base.conf il y a normalement plusieurs variables qu'il faut que j'utilise dans le dev.sh et dans d'autre script.

Merci de votre aide.

Cordialement,
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2008 à 15:43
si base.conf est dans /home/user et /home/user ou . n'est pas dans le PATH, il faut . ./base.conf
il faut le export pour qu'une variable soit vue ailleurs que dans le script où elle est définie
dans base.conf :
VAR="hello" ; export VAR
0
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
2 avril 2008 à 16:09
Ah je comprends ce que tu veux dire par rapport à l'export :-)
Ca marche enfin !! Héhé !

En fait je c'était galère au niveau du . ./base.conf car au début j'avais pas vu qu'il y avait un espace xD et maintenant ça marche bien !

Super merci dubcek ;-)

Cordialement,
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2008 à 16:36
avec bash, on peut utiliser . ou source ce qui est plus clair
0