[U-Boot] using ${var} with env import

Holger Brunck
2011-03-30T15:41:02Z

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