On Tue, Jul 08, 2008 at 08:44:47PM -0700, Mr Aras wrote:
[...]
> #!/bin/sh
> sh <<-EOF
> for word in hello world
> do
>         echo word = $word
> done
> EOF
> 
> output is:
> word =
> word =
> 
> 
> Can someone tell me why this doesn't work? I've been going nuts trying to
> figure this one out.
[...]

Variables are expanded in here documents unless you quote
something in the terminator. So the above becomes:

sh <<-EOF
for word in hello world
do
        echo word = 
done
EOF

You want:

sh <<-\EOF
for word in hello world
do
        echo word = $word
done
EOF


(or E"O"F or 'EOF' ...)

-- 
Stéphane


Reply via email to