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

Holger Brunck holger.brunck at keymile.com
Wed Mar 30 17:41:02 CEST 2011


Hello,

Wolfgang Denk wrote:
> Dear Holger Brunck,
> 
> In message <4D92E7B4.9010305 at 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




More information about the U-Boot mailing list