Définir une variable à partir d'un fichier

Fermé
tartenpion - 22 déc. 2007 à 23:34
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 24 déc. 2007 à 12:18
Bonsoir,
Je voudrais créer un script qui me lance des commandes en fonction de ce qu'il y a dans un fichier externe.
Je bloque car je ne sais pas comment dans mon script indiquer qu'il faille trouver tel mot dans le fichier externe et qu'il regarde ce qu'il y a après (par exemple si dans mon fichier externe j'ai une ligne avec DOSSIER_TMP=/home/pouet/tmp je voudrais que le script crée une variable DOSSIER_TMP ayant pour valeur /home/pouet/tmp).
J'espère que vous voyez ce que je veux dire.
Merci
A voir également:

5 réponses

dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
23 déc. 2007 à 10:20
hello
chmod u+x nom_du_fichie et exécuter ce fichier avec source nom_du_fichier

#!/bin/bash
export DOSSIER_TMP=/home/pouet/tmp
0
Je comprend pas le but de la commande export mais ton code suppose qu'on connaisse déjà le contenu du fichier externe donc ça le rend inutile, mon script doit lire le contenu du fichier externe et interpreter toute les lignes du style "IP=XXX.XXX.XXX.XXX" comme une variable.
0
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
23 déc. 2007 à 14:35
man bash:
export
export [-fn] [-p] [name[=value]]
Mark each name to be passed to child processes in the environment

sans export, une variable n'existe que dans le shell courant et pas dans les commandes démarrées depuis ce shell.
dans ton script, lire une ligne et l'exécuter, par ex. :
C=$(grep IP= fichier)
$C
0
bah en fait il doit pas executer simplement ce qui est dans le fichier car c'est pas des commandes ca peut être par exemple DHCP=yes (ou no) pour définir si on veut utiliser le service DHCP pour configurer le réseau.
Je pense avoir trouvé avec un DHCP=`grep '^DHCP=\(yes\|no\)' | cut -d= -f2`
normalement ça ça me rentrera yes ou no dans la variable DHCP,
MAIS comme tu m'as l'air charitable tu peux sans doute m'aider pour la suite, on me dit (c'est un TP) que "dans le cas d'une attribution dynamique via DHCP, quel est le nom de la machine a renvoyer au DHCP, quel est le délai d'attente avant l'arret des requetes"
ceci correspond aux lignes HOSTNAME=`hostname`et TIMEOUT=5 de mon fichier externe mais a quoi servent-elle si DHCP marche sans ça?
Merci de ton soutien ^^
0

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

Posez votre question
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
24 déc. 2007 à 12:18
je ne connais pas les details, mais je dirais changer les valeurs par defaut:
5 secondes de timeout si le serveur ne répond pas, le défaut est peut-être 30s
changer le nom de la machine par le nom de la machine locale et ne pas utiliser le nom defini par la config. DHCP
0