U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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
>

  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