[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 'For' loops with empty 'in' expansions no longer work.
From: |
Paul Jarc |
Subject: |
Re: 'For' loops with empty 'in' expansions no longer work. |
Date: |
Fri, 19 Apr 2002 21:45:55 -0400 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i686-pc-linux-gnu) |
malcolm@commsecure.com.au wrote:
> In bash2 versions up to 2.04, a loop of the form
>
> for i in $WORDS
> do
> <stuff>
> done
>
> would not execute the loop body if $WORDS expanded to nothing.
> In version 2.05, this situation generates a syntax error.
No, it doesn't.
> Repeat-By:
>
> for i in ; do echo foo; done
This *is* an error, but it's different code. A variable with an empty
value is different from no variable at all. I assume you have
something like this in a Makefile:
for i in $(var); do
use $$i
done
You can make it work like this:
var="$(var)"
for i in $$var; do
use $$i
done
paul