Lecture de var. d'env a partir d'un fichier

Résolu/Fermé
darkZangetsu Messages postés 28 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 août 2008 - 16 juil. 2008 à 11:14
darkZangetsu Messages postés 28 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 août 2008 - 21 juil. 2008 à 14:22
Bonjour,

j'ai un fichier contenant des variables d'env contenant les chemins de repertoires.
et j dois ecrire un script qui doit creer des repertoires a partir des valeurs de ces variables
voici le code que j'ai ecris:

cat fich.txt|while read line
do
a=`echo $line`
mkdir `echo $a`
done

supposons que j'ai une seule variable ds fich.txt qui est $VAR et qui a comme valeur /home/app
alors repertoire qui va etre créer est $VAR et non /home/app
j ne comlprends pa pkoi et j trouve pa comment remedier a ça


merci
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
16 juil. 2008 à 14:29
quel est le format exact de fich.txt ?
mais tu peux faire
cat fich.txt|while read var chemin
do
mkdir $chemin
done
0
darkZangetsu Messages postés 28 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 août 2008
21 juil. 2008 à 11:52
le probleme ici c'est que la variable "chemin" ne contient l'adresse d'un repertoire, mé elle contient le nom d'une variable d'environnement qui, elle, contient l'adresse
et le probleme ici c'est que j'arrive pas a le recuperer ce contenu en fesant la boucle while
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 juil. 2008 à 11:59
Ca serait tellement plus simple que tu affiches le contenu de fichi.txt
0
darkZangetsu Messages postés 28 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 août 2008
21 juil. 2008 à 13:27
ceci est un exemple de fich.txt:
VAR_COM
VAR_JAVA
VAR_C
ce sont les noms de 3 variables d'env. avec :
VAR_COM=/home/project/com
VAR_JAVA=/home/project/java
VAR_C=/home/project/c
en essayant de les créer j'obtiens 3 repertoires avec comme noms $VAR_COM, $VAR_JAVA et $VAR_C

mé bon la j viens de trouver une autre méthode que j'aime pas trop bien qu'elle fonctionne, la voila:

cat fich.txt|while read line
do
var=`set|grep "^${line}=.*"|cut -d "=" -f 2` ///ici je rcupere la liste des var. d'env. et j fé la desus un petit traitement
mkdir $var ///pour recuperer leurs valeurs
done
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 juil. 2008 à 14:03
c'est juste mais on peut simplifier

cut -d "=" -f 2 < fich.txt | while read line
do
mkdir $line
done
0
darkZangetsu Messages postés 28 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 août 2008
21 juil. 2008 à 14:22
merci dubcek
j vé me contenter de cette solution puisk'elle fonctionne
thx
0