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