Probleme avec la commande EOF

Résolu/Fermé
ogranyanos Messages postés 18 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 30 mai 2011 - 27 avril 2011 à 08:41
ogranyanos Messages postés 18 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 30 mai 2011 - 27 avril 2011 à 10:43
Bonjour,

j aimerais passer la commande EOF pour remplir mes fichiers xml ,et eviter de mettre des echos partout ; le probleme c est que ca marche que pour le premier fichier et les autres ne sont pas rempli

mkdir config

mkdir template



cd config
touch toto.xml
touch tata.xml

cat > toto.xml << EOF
<CFG>
<Controle>
<Version>TUX,351:UNI,500</Version>
<Goroco>CFT,G01R04C02:UNI,G02R05C04</Goroco>
</Controle>
</CFG>



EOF



cat > tata.xml << EOF
<CFG>
<Controle>
<Version>CFT,263:ORA,102:UNI,500:TUX,223</Version>
<Goroco>CFT,G00R00C00:TUX,G02R05C04</Goroco>
</Controle>
</CFG>



EOF




cd template
touch titi.envt
cat > titi.envt << EOF



export LISTE_CONTROLE_PLI_V=${CONF.Controle.Version}
export LISTE_CONTROLE_PLI_G=${CONF.Controle.Goroco}
EOF

2 réponses

boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
Modifié par boly38 le 27/04/2011 à 09:46
hello,
c'est étrange car le script me paraissait correct alors j'en ai reproduit un pour isoler le besoin et çà marche comme spécifié :
#!/bin/sh 
cat > test1.log << EOF 
oOO 
test1 
OOO 
EOF 
cat > test2.log << EOF 
Oooo 
test2 
EOF 
echo theend 


comme çà je dirai qu'il faudrait vérifier s'il n'y a pas d'espace en fin de ligne où EOF est présent (ou bien que le dernier EOF soit bien suivi d'un retour-à-la-ligne !?
ou bien sinon vérifier l'encodage du fichier ? voici ce que j'ai :
~$ file testEOF.sh 
testEOF.sh: POSIX shell script text executable 

~$ file -i testEOF.sh 
testEOF.sh: text/x-shellscript; charset=us-ascii 
1
ogranyanos Messages postés 18 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 30 mai 2011
27 avril 2011 à 10:43
effectivement le script etait correct ca a finalement marcher j avou ne pas comprendre
0