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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.