Hi Alan,

yes I looked in the source code and I think the reality clashes with the
documentation, which says about loops: "...These work from the command line
but are primarily intended for use within NSH scripts".
I think the code expects loops only in scripts files and not directly in
console, because one of the conditions for this error is "np->np_stream ==
NULL", which I assume means that no script is being processed.

Petr

On Thu, Feb 27, 2020 at 11:59 AM Alan Carvalho de Assis <acas...@gmail.com>
wrote:

> Hi Peter,
>
> There could be many reasons, for example if your
> CONFIG_NSH_DISABLE_ITEF is enable, etc...
>
> $ cd apps/
> $ git grep "not valid in this context"
> nshlib/nsh_parse.c:const char g_fmtcontext[]        = "nsh: %s: not
> valid in this context\n";
>
> Please take a look, this is a good exercise to master NuttX.
>
> BR,
>
> Alan
>
> On 2/27/20, Petr Buchta <cz7...@googlemail.com.invalid> wrote:
> > Hi,
> > I keep exploring nuttx and I'm trying to use loops in the nsh console.
> The
> > problem is I'm geting this error - "nsh: while: not valid in this
> context"
> >
> > What I simply tried was:
> > nsh> while true; do myapp; sleep 1; done
> >
> > Even splitting to multiple lines without the semicolon doesn't work. What
> > am I missing?
> >
> > Also is there a way to iterate over a numeric range? I understand there's
> > no support for for loops, even a basic one like -  "for i in 1 2 3; do
> ...;
> > done". So is there a way how to do a similar thing using while loop and
> > incrementing a numeric variable?
> >
> > Thanks for help.
> > Petr
> >
>

Reply via email to