variable in loop

Chris Tyler chris at tylers.info
Sun Jan 2 23:35:53 UTC 2011


On Sun, 2011-01-02 at 14:27 -0800, S Mathias wrote:
> $ ASDF=hello; a=0; a=$(( 70 - $(echo $ASDF | awk '{print length}') )); echo "$a $ASDF"$(for i in {1..$a}; do printf "."; done)
> 65 hello.
> $ 
> 
> 
> Why doesn't it print:
> 65 hello.................................................................
> 
> 
> 
> What am i missing?

The expression {1..$a} is being quoted and treated as a string, instead
of being evaluated. If you change the printf from:

	printf "."

...to:

	printf "[$i]"

...you'll see what's happening.

-Chris



More information about the users mailing list