Extraire des variables a partir d'un fichier
Résolu
phery
Messages postés
9328
Date d'inscription
Statut
Modérateur
Dernière intervention
-
phery Messages postés 9328 Date d'inscription Statut Modérateur Dernière intervention -
phery Messages postés 9328 Date d'inscription Statut Modérateur Dernière intervention -
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---
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:
- Extraire des variables a partir d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Fichier rar - Guide
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
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
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
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:
ou si ce n'est pas dans le meme repertoire:
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:
Le fichier "/etc/sysconfig/network" ne sert qu'a definir quelques variables pour la config reseau dans ce cas. Par exemple:
Ici on apprend aussi comment faire pour verifier que le fichier avec les variables existe reellement (le "if [....]; then", ...)
(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", ...)
Merci beaucoup pour vos réponses...
Je vais suivre vos conseil et je vous tiens au courant ;-)))
----------phery---------
--Comme le bateau---
Je vais suivre vos conseil et je vous tiens au courant ;-)))
----------phery---------
--Comme le bateau---
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question