Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
961 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] parser un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BASH] parser un fichier

n°255160
sebweb
Posté le 27-04-2003 à 12:06:37  profilanswer
 

Alors voila, j'ai un fichier dont les entrées se présentes comme ça :
<nom>=<valeur>
Par exemple : toto=foo
 
J'aimerais pouvoir a partir d'un script bash récupérer ses information et au final avoir une variable $<nom> qui a comme valeur <valeur>.
 
j'ai essayer de faire un truc comme ça :
 
 

Code :
  1. for i in  `cat .genuprc` ; do $i ; done


 
Mais a chaque fois le résultat est le suivant
 

Code :
  1. bash: rep=/root/.Gentoo-Update/: No such file or directory
  2. bash: logname_prefix=Gentoo-Update: command not found


 
Alors que si je met une commande shell classique ( j'ai pris la commande date comme exemple) ca marche trés bien :
 

Code :
  1. [ ~/Script/Gentoo_Update/dev ]-[127]: cat .genuprc
  2. date
  3. rep=/root/.Gentoo-Update/
  4. logname_prefix=Gentoo-Update
  5. [ ~/Script/Gentoo_Update/dev ]-[0]: for i in  `cat .genuprc` ; do $i ; done
  6. Sun Apr 27 12:03:43 CEST 2003
  7. bash: rep=/root/.Gentoo-Update/: No such file or directory
  8. bash: logname_prefix=Gentoo-Update: command not found
  9. [ ~/Script/Gentoo_Update/dev ]-[127]:

 
 
Si quelq'un pouvait m'expliquer !
Merci

mood
Publicité
Posté le 27-04-2003 à 12:06:37  profilanswer
 

n°255172
Mjules
Modérateur
Parle dans le vide
Posté le 27-04-2003 à 12:23:12  profilanswer
 

et ça :

Code :
  1. for i in  `cat .genuprc` ; do export $i ; done


 
ça marche pas ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°255177
sebweb
Posté le 27-04-2003 à 12:26:15  profilanswer
 

Mjules a écrit :

et ça :

Code :
  1. for i in  `cat .genuprc` ; do export $i ; done


 
ça marche pas ?


 
Ok ca marche a la perfection !!
Une explication du pkoi le mien marchait pas ?

n°255204
unk00
Posté le 27-04-2003 à 13:46:47  profilanswer
 

Ça ne marchait pas parce que le script essayait d'exécuter la commande "rep=val", sans chercher à faire l'affectation (c'est normal comme comportement par défaut avec Bash, mais je ne peux pas préciser)
 


# i="machin=truc"
# $i
-bash: machin=truc: command not found
# i="date"
# $i
Sun Apr 27 12:00:01


 
 Par contre, si le fichier ne comporte que des associations "nom=valeur", n'est-il pas préférable d'utiliser "source" plutôt qu'une boucle for, souvent spécifique à un shell ? Ça permet en plus de mettre des commentaires et des lignes vides dans ce fichier de config ".genuprc".

# source .genuprc


 


Message édité par unk00 le 27-04-2003 à 13:51:42

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] parser un fichier

 

Sujets relatifs
[Xplanet] Ne prend pas en compte le fichier de configRestriction de bash et plus ..., HELP
Vérifier un système de fichier swap[recherche] utilitaire pour protéger un fichier par mot de passe
[bash] besoin de lumière !Fichier ENI
Fichier .ENI ???HOWTO [dhcp / dns / bind] voir en fin fichier de config et erreur etc.
Probleme avec l'installation d'un fichier bin[APACHE] utiliser mod_rewrite sur un dossier au lieu d'un fichier???
Plus de sujets relatifs à : [BASH] parser un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR