Extraire des variables a partir d'un fichier

Résolu/Fermé
Signaler
Messages postés
9327
Date d'inscription
lundi 13 septembre 2004
Statut
Modérateur
Dernière intervention
11 août 2020
-
Messages postés
9327
Date d'inscription
lundi 13 septembre 2004
Statut
Modérateur
Dernière intervention
11 août 2020
-
bonjour,
voila, j'écris un script shell et j'aimerais pouvoir extraires des variables à partir d'un fichier.
Exemple : mon script se connecte à un serveur, envoie un dossier... etc. Je voudrais faire un fichier du style "maconfig.conf" dans lequel je mets les paramètres de l'utilisateur : login, password, dossier à envoyer et les utiliser dans mon script.
C'est tout bête chuis sur mais je sèche.
Merci aux âme charitables ;-)

----------phery---------
--Comme le bateau---

5 réponses

Salut,

peut etre tu peux t'en sortir avec la commande cat ?

'cat maconfig.conf'

je connais pas les options, mais doit y avoir moyen de l'arreter apres chaque truc ...

Phiphi
Messages postés
36
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2005
2
Là il faut passer par des commandes de filtre (sed, cut, ...)...
Je peux te passer des liens qui documentent pas mal ces "magc commands" !!! (là on est plus dans de l'unix que du linux : la differences c'est qu'elles sont GNU) :

commandes filtres sur accadémie de creteil :
http://www.ac-creteil.fr/reseaux/systemes/linux/shell-scripts/filtres.html

utilitaires filtres sur 194.51.152.252 :
http://194.51.152.252/LINUX/ProgUtilitairesFiltres.htm
Il me semble la solution la plus facile est:

(1) Dans le fichier "maconfig.conf" on met de lignes de genre:
VARIABLE_XYZ="contenu_xyz"
avec la meme syntax si le fichier "maconfig.conf" faisait partie du script et on rend le script executables avec: "chmod +x maconfig.conf".

(2) Apres dans le script principal il faut au debut appeler "maconfig.conf" mais de la bonne facon:
. ./maconfig.conf

ou si ce n'est pas dans le meme repertoire:
. /chemin/maconfig.conf


Ce qui est important il faut mettre le point + un blanc devant le nom du sous-script sinon les variables ne seront pas transmises. Cette technique est aussi utilisee dans les scripts de boot de Mandrake, Suse, Redhat/Fedora etc.:
Exemple dans le "/etc/rc.d/rc.sysinit" du Mandrake 10.1 on trouve relativement au debut:
if [ -f /etc/sysconfig/network ]; then
    . /etc/sysconfig/network
fi

Le fichier "/etc/sysconfig/network" ne sert qu'a definir quelques variables pour la config reseau dans ce cas. Par exemple:
HOSTNAME=xxxxxxxxxxxx
NETWORKING=yes
GATEWAY=xxx.xxx.xxx.xxx
GATEWAYDEV=eth0

Ici on apprend aussi comment faire pour verifier que le fichier avec les variables existe reellement (le "if [....]; then", ...)
Messages postés
9327
Date d'inscription
lundi 13 septembre 2004
Statut
Modérateur
Dernière intervention
11 août 2020
371
Merci beaucoup pour vos réponses...
Je vais suivre vos conseil et je vous tiens au courant ;-)))

----------phery---------
--Comme le bateau---
Messages postés
9327
Date d'inscription
lundi 13 septembre 2004
Statut
Modérateur
Dernière intervention
11 août 2020
371
ça marche nickel la soluce de kmf !!!
Merci mille fois !
Et merci pour les autres !

----------phery---------
--Comme le bateau---