I know of 4 different ways to use a for loop. Here they are for those 
that aren't aware of all 4 ways.

|1. for I in {1..10}; do echo $I; done|

|2. for I in 1 2 3 4 5 6 7 8 9 10; do echo $I; done|

|3. for I in $(seq 1 10); do echo $I; done|

|4. for ((I=1; I <= 10 ; I++)); do echo $I; done
|
That being said, I have a script I'm trying to modify to use a variable 
instead of a fixed hard-coded value, using the 1st form of the for 
loop.  I've tried all different ways of quoting and escaping the 
variable, and the main problem is that the quoting chars or escape char 
are beinh translated and passed into the loop as well as the value 
stored in the variable.

For example, to change the start value of 1 to whatever value I want 
passed in thru a variable:

for i in {1..100}; do <something>; done

to:     for i in {$a..10}; do <something>; done

I have tried: {{$a}..10} and {`$a`..10}, to have the variable evaluated 
first.
I have tried the using the eval() function.
I have tried single and double quotes and the backslash escape character.

Nothing I've tried works. Yes, maybe I should try using a different form 
of the for loop, but it bugs me that I can't get this form of the for to 
work properly.  It's probably a stupid syntax error on my part, but as 
of now, I'm baffled.

Can anyone shed some light on the problem and solution, please?  Thanks!

John
|||





|

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Linux Users Group.
To post a message, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit our group at 
http://groups.google.com/group/linuxusersgroup
-~----------~----~----~----~------~----~------~--~---

Reply via email to