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