Extraire des variables a partir d'un fichier

Résolu/Fermé
phery Messages postés 9328 Date d'inscription lundi 13 septembre 2004 Statut Modérateur Dernière intervention 11 août 2020 - 24 janv. 2005 à 15:19
phery Messages postés 9328 Date d'inscription lundi 13 septembre 2004 Statut Modérateur Dernière intervention 11 août 2020 - 25 janv. 2005 à 11:26
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---
A voir également:

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
0
bengentoohit Messages postés 36 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 27 janvier 2005 2
24 janv. 2005 à 16:29
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
0
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", ...)
0
phery Messages postés 9328 Date d'inscription lundi 13 septembre 2004 Statut Modérateur Dernière intervention 11 août 2020 372
24 janv. 2005 à 16:53
Merci beaucoup pour vos réponses...
Je vais suivre vos conseil et je vous tiens au courant ;-)))

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phery Messages postés 9328 Date d'inscription lundi 13 septembre 2004 Statut Modérateur Dernière intervention 11 août 2020 372
25 janv. 2005 à 11:26
ça marche nickel la soluce de kmf !!!
Merci mille fois !
Et merci pour les autres !

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