From: Andreas Neubacher <a_neubi@gmx.at>
To: u-boot@lists.denx.de
Subject: [U-Boot] set and test a local variable in a script
Date: Sun, 23 Nov 2014 17:56:26 +0100 [thread overview]
Message-ID: <547211BA.7080603@gmx.at> (raw)
In-Reply-To: <20141122225604.54F9838015E@gemini.denx.de>
hi,
many, many, many thx for your quick response ... now it works, and i
know why it hasn't :)
br,
Andy
On 22.11.2014 23:56, Wolfgang Denk wrote:
> Dear Andreas,
>
> In message <5470D48C.1080103@gmx.at> you wrote:
>> i'm trying to set a local variable and test the variable in an
>> if-then-else script ...
>> but it's somehow a bit weird!?
> Not really weird; you just have to be a bit careful about quoting
> rules...
>
>> - set variable "nea" to 0
>> - create a script "x" and run .... OK
>> - modify variable "nea" to 1
>> - run script "x" again ... NOK?!
>>
>> ... what i'm doing wrong - the behavior is the same with 2013.10 and
>> 2014.01
> ...and it would be the same if you were testing with a regular shell on
> the Linux command line.
>
> Actually this is something I always recommend: if you see some strange
> behaviour, first try to do the same in a standard shell environment,
> and debug it there.
>
>
>> >U-Boot# nea=0
>> >U-Boot# setenv x "if itest 1 -eq $nea; then echo var1; else echo var0;
>> fi;"
> It would have been a good idea here todo a "printenv x" to check what
> was actually stored in the variable - this would have shown your
> problem. The thing is, you want to keep the '$nea' notation in the
> variable, so you can evaluate the variable when you run that macro.
> However, inside double quotes (") variable substitution takes place,
> so above command is equivalent to
>
> setenv x "if itest 1 -eq 0; then echo var1; else echo var0; fi;"
>
>> >U-Boot# run x
>> >var0
>> >U-Boot# nea=1
>> >U-Boot# run x
>> >var0 <<<<<----- so now i should get the "var1" as a result
>> >U-Boot# echo $nea
>> >1
>
> Use printenv to verify what is stored in the variable x, and you will
> understand this.
>
>
> Best regards,
>
> Wolfgang Denk
>
next prev parent reply other threads:[~2014-11-23 16:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-22 18:23 [U-Boot] set and test a local variable in a script Andreas Neubacher
2014-11-22 22:56 ` Wolfgang Denk
2014-11-23 16:56 ` Andreas Neubacher [this message]
2014-11-23 17:47 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=547211BA.7080603@gmx.at \
--to=a_neubi@gmx.at \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox