Probleme avec la commande EOF

Résolu
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

  1. effectivement le script etait correct ca a finalement marcher j avou ne pas comprendre
    1. 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