Forum: Cfengine Help
Subject: dynamic variable declaration
Author: bglomm
Link to topic: https://cfengine.com/forum/read.php?3,18441,18441#msg-18441
hi all,
Could anybody give me a hint on how to construct variable names during runtime
(amount and names shall come from a "ls" command on a specific directory) and
fill each of this variables with a value extracted from the corresponding file?
What I tried:
In /localhost/somelocation/
there are a bunch of files, let's say: test1, test2, othertest3 (arbitrary
unknown names).
each of this files contains a tagged line that I can get with egrep... and
extract with a simple cut...
Now I like to build an array of the form:
myarray string => "extracted-value-from-file-test1"
myarray string => "extracted-value-from-file-test2"
myarray string => "extracted-value-from-file-othertest3"
in the "var:" section I can do a
"allfiles" string => execresult("/bin/ls -x /localhost/somelocation/",
"noshell");
"allfiles_array" slist => splitstring("$allfiles)", "\W", "20");
... so far all fine and works, but now I would need something like:
"string[$(myarray)] string => execresult("/bin/egrep \"mypatter\"
/localhost/somelocation/$(myarray) | cut ...", "noshell")
but that doesn't work (Variable identifier contains illegal character, i.e. the
$ ...)
TIA
Bernhard
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine