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 ****