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