Une fonction en shell ne se déclare pas par 'function ... {...}', mais par :
<cut>
nom_de_la_fonction()
{
        ... corps de la fonction ...
}
</cut>


test.sh devrait donc être :
<cut>
#!/bin/sh

kest()
{
   cat <<-ZZZ
                test_dans_fonction\n
   ZZZ
}

kest
</cut>

Attention lors de l'emploi de <<-ZZZ : le délimiteur final ZZZ ne sera reconnu 
que si les caractères qui précèdent ZZZ sur la ligne
sont des tabulations. Par expérience, il vaut mieux laisser le délimiteur en 
colonne 1 (cadré à gauche). Ca n'est peut-être pas très
beau visuellement, mais ça évite beaucoup de problèmes.

Patrice


> -----Message d'origine-----
> De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] la
> part de Olivier Kaloudoff
> Envoyé : jeudi 19 octobre 2000 14:12
> À : [email protected]
> Objet : [TECH] here documents, [ba]sh
>
>
> Bonjour,
>
>       bash n'est pas tres gentil avec moi, j'ai fait
> les essais suivants;
>
>
> [EMAIL PROTECTED] Shell]# ./test.sh
> ./test.sh: ./test.sh: line 10: syntax error: unexpected end of file
>
> [EMAIL PROTECTED] Shell]# ./test2.sh
>     test2
>
>       testé avec:
>
>       bash-1.14.7-16 et
>       bash2-2.03-8
>
>
> quelqu'un sait-il ou je me suis trompé ?
>
> Olivier
>



Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à