
Hello,
Wolfgang Denk wrote:
Dear Holger Brunck,
In message 4D92E7B4.9010305@keymile.com you wrote:
I am using env import -t to import environment variables from a textfile.
My simple textfile is: fdt_file=${hostname}/${hostname}.dtb
I import the file with: => tftp 200000 scripts/my_environ.txt => env import -t 200000 ${filesize}
Now when I print the variable I get: => print fdt_file fdt_file=${hostname}/${hostname}.dtb
hostname is defined as: => print hostname hostname=mgcoge
This is perfectly normal. "env export" and "env import" are inverse operations - they export and import the environment data directly, without any conversions (except for the formatting as text lines versus NUL-terminated strings). Neither of these functions performs any variable substitutions - these are done in the command interpreter, i. e. when you run a command in the shell.
Is the usage of ${var} in the textfiles not possible? Or is there a way to solve this problem?
I understand that with "usage of ${var}" you mean variable subsitution
- this is indeed not supposed to happen during an "env import".
I don't consider this a problem, though. If you want such substituion, use the defined strings in shell commands.
Actually I consider it more clever to _keep_ the ${hostname} stuff in your variable definitions, as then it is sufficient to change the "hostname" variable to take affect everywhere; if you subsitute the value hard in other variables, you would have to fix all of these (and provide code to do so).
So actually I think this is not a problem, it just points out some inefficient usage of the environment in your setup.
yes you are right and the problem I had was at a different place.
Sorry for the noise.
Best regards Holger Brunck