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