Une page dans votre Wiki a été ajoutée ou modifiée. Voici les détails :
Date : 2007/04/29 17:18 Navigateur : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-2) Adresse IP : 82.245.119.238 Nom d'hôte : lon92-7-82-245-119-238.fbx.proxad.net Ancienne révision : none Nouvelle révision : http://cli.asyd.net/home/shell/zsh/tips/heredoc Résumé : Document déplacé depuis heredoc Utilisateur : asyd
===== ZSH : Exemple d'utilisation des heredoc ======
<code> #!/bin/zsh
var="Hello world"
echo <<EOF \ "Greetings message : $var" EOF </code>
On 2007-04-29 17:18:24 +0200, noreply@asyd.net wrote:
Nouvelle révision : http://cli.asyd.net/home/shell/zsh/tips/heredoc Résumé : Document déplacé depuis heredoc Utilisateur : asyd
===== ZSH : Exemple d'utilisation des heredoc ======
<code> #!/bin/zsh
var="Hello world"
echo <<EOF \ "Greetings message : $var" EOF
</code>
Le \ n'est normalement pas nécessaire, et je dirais même qu'au contraire, il ne vaut mieux pas en mettre (il pose d'ailleurs des problèmes sous bash, quand on tape cela dans un shell interactif: essayez de rappeler la commande dans l'historique, ça ne fonctionne plus).
D'autre part, avec les shell POSIX, mieux vaut utiliser printf, car echo interprète des séquences d'échappement de manière non portable, alors qu'avec printf, il est possible de faire portable avec %s.
On dim 29 avril, Vincent Lefevre wrote:
echo <<EOF \ "Greetings message : $var" EOF
</code>
Le \ n'est normalement pas nécessaire, et je dirais même qu'au contraire, il ne vaut mieux pas en mettre (il pose d'ailleurs des problèmes sous bash, quand on tape cela dans un shell interactif: essayez de rappeler la commande dans l'historique, ça ne fonctionne plus).
Ca ne fonctionne pas sans le \ chez moi
On 2007-04-30 07:17:57 +0200, Bruno Bonfils wrote:
On dim 29 avril, Vincent Lefevre wrote:
echo <<EOF \ "Greetings message : $var" EOF
</code>
Le \ n'est normalement pas nécessaire, et je dirais même qu'au contraire, il ne vaut mieux pas en mettre (il pose d'ailleurs des problèmes sous bash, quand on tape cela dans un shell interactif: essayez de rappeler la commande dans l'historique, ça ne fonctionne plus).
Ca ne fonctionne pas sans le \ chez moi
Bien sûr, c'est parce que ce n'est pas "echo" qu'il faut utiliser, mais "cat". Ce que tu vois, c'est simplement un effet secondaire. Par exemple,
echo <<EOF \ foo bar EOF
est équivalent à:
echo <<EOF foo bar EOF
et ne va qu'afficher "foo", puisque l'entrée standard est ignorée. En revanche,
cat <<EOF foo bar EOF
affiche bien les deux lignes, puisque "cat" prend l'entrée standard. Et il ne faut pas mettre de , évidemment.