| Author |
dynamic variable assignment in bash
|
Thomas Murphy
Greenhorn
Joined: Dec 14, 2006
Posts: 23
|
|
Hi guys I am stuck with what i would have thought to be a pretty easy part of a script. basically i want to iterate a loop and assign a value to a dynamic variable: my assignment and test are below: the assignment is not working and i get an error: so is there a way of assigning a value to a generated variable in bash? i think my syntax is wrong judging by the error. [ February 05, 2008: Message edited by: Thomas Murphy ]
|
 |
Ernest Friedman-Hill
author and iconoclast
Marshal
Joined: Jul 08, 2003
Posts: 24057
|
|
"eval" should work: eval user$i=${line_array[i]}
|
[Jess in Action][AskingGoodQuestions]
|
 |
Thomas Murphy
Greenhorn
Joined: Dec 14, 2006
Posts: 23
|
|
Thanks Ernest, This has removed the error at least. However i am referencing this variable now using: $user$i This must be incorrect as it is still getting interpreted as 0 and not tim in the example above.
|
 |
Thomas Murphy
Greenhorn
Joined: Dec 14, 2006
Posts: 23
|
|
As it happens the solution is the following: eval echo \$user$i
|
 |
 |
|
|
subject: dynamic variable assignment in bash
|
|
|