
hi Wolfgang tnx for your comments
On Fri, Nov 19, 2021 at 3:49 PM Wolfgang Denk wd@denx.de wrote:
Dear Artem,
In message 20211119043647.1251416-1-art@khadas.com you wrote:
Add possibility setup env variable with additional resolving vars inside value.
Hm... if you want to evaluate variables, you should not prevent the shell to do that by enclosing them in apostrophes?
next examples just demonstrate how its works for already defined env variables which contain other variables (like storred env variables)
Usage examples:
=> setenv a hello; setenv b world; setenv c '${a} ${b}' => setenv -r d '${c}! ${a}...' => printenv d d=hello world! hello...
Without any new code added:
sure I know about this ! see my prev message please .
=> setenv a hello; setenv b world; setenv c ${a} ${b} => setenv d ${c}! ${a}... => printenv d d=hello world! hello...
I know very well that this does not cover all use cases you might
Why not have this new opportunity ?
have in mind, as you speak of "deep resolve". But then, I'm first missing an explanation (and documentation) of what "deep resolve"
recurrent resolving for variables
actually means in this context, i. e. how many levels down you evaluat. Oh... the code has "int max_loop = 32;" - this is a
i think its will be enough
limitation mentioned nowhere. And are you really sure this is a clever idea? I am not convinced. If we do something like this, we should not invent a new non-standard way. We should implement
I believe it's a good idea ;-)
standard shell behaviour instead (i. e. for example something like the eval command).
1) this option did not broke any exist compatibilities 2) there we talk not only about uboot shell, same time will be useful to have env_resolve for internal c usage, because env_set dont have this feature
Artem Lapkin (2): env: setenv add resolve value option test: env: deep resolve value testing
This is one more of the patches that actually try to fix existing problems with our ancient verion of the hush shell. As far as I understand, Francis (added to Cc:) has started working on an update of hush to a current version. We should rather help him with that instead of implementing non-standard workarounds.
yes i'm informed about this plans (and think its happens not so soon - but i provide some simple elegant solution already) but again we dont have env_resolve for internal c usage which must be very useful
for example: pxe_utils.c: and some other places env_set("bootargs", finalbootargs); can be replaced by env_resolve("bootargs", ..... ) will be easy get useful features via simple solution ( deep resolve all vars by one line )
Best regards,
Big tnx again ! and waiting any other ideas about this
Wolfgang Denk
-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de When choosing between two evils, I always like to take the one I've never tried before. -- Mae West, "Klondike Annie"