Extraire des variables a partir d'un fichier

Résolu
phery Messages postés 2 Date d'inscription   Statut Modérateur -  
phery Messages postés 2 Date d'inscription   Statut Modérateur -
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

  1. Phiphi
     
    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
  2. bengentoohit Messages postés 36 Statut Membre 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
    0
  3. kmf
     
    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
  4. phery Messages postés 2 Date d'inscription   Statut Modérateur 375
     
    Merci beaucoup pour vos réponses...
    Je vais suivre vos conseil et je vous tiens au courant ;-)))

    ----------phery---------
    --Comme le bateau---
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. phery Messages postés 2 Date d'inscription   Statut Modérateur 375
     
    ça marche nickel la soluce de kmf !!!
    Merci mille fois !
    Et merci pour les autres !

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