À 8:55 +0200 le 18.7.2007, Patrick Proniewski écrivait au sujet de "Re: [#!/fr] problème avec cat et curl" :
>Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-1-276074505;
> protocol="application/pkcs7-signature"
>
>On 17 juil. 07, at 19:14, Daniel Varlet wrote:
>
>>Tu pourrais essayer de remplacer le EOF/MONEOFAMOI par un
>> set delim to quoted form of (get do shell script "uuidgen")
>>Pas testé du tout.
>
>comme tu as peut être vu, j'ai fini par passer par un fichier temporaire, ce qui m'évite toutes déconvenues, présentes ou futures.
>Néanmoins, quelqu'un m'a soufflé une astuce pour utiliser le here-document de manière un peu plus sûre :
>
>cat<<'EOF'
>blah
>EOF
>
>mettre le premier EOF entre '' permet de "quoter" tout ce qui suit, et ainsi d'éviter que le shell ne s'en mêle.
C'est exactement ce que j'ai écrit.
quoted form of "string" -> "'string'"
>
>>Et ainsi garder la non moins tordue(*) (;-)) ligne "cat<<" & delim &" | openssl enc -base64 | ..."
>>
>>(*) J'ai eu du mal à percuter avec celle-là... J'en ai déduit que la redirection (le here-document lui même en fait) ne s'opérait qu'à partir de la "deuxième ligne" du block. Naïvement, je pensais que ça partait juste après le delim. Confirmation? liens?
>
>Oui, en fait tu as "cat<<EOF" qui attend une entrée, et le reste de la ligne qui sera la sortie. L'entrée à proprement parler démarre sur la ligne suivante et se termine avec EOF.
>Il y'a un petit peu de doc dans le man bash (Here Documents), mais sans plus.
Oui, c'est donc bien ce que j'ai déduit. Tant pis pour la doc.
Merci à Bernard et à toi pour les réponses.
A+
--
Daniel
_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr