Add a new config: NSH_BUILTIN_AS_COMMAND.
Provide a new implementation for nsh_builtin
when CONFIG_NSH_BUILTIN_APPS_AS_COMMAND is enabled.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
usage like:
nsh> sleep 10 &
[5:100]
nsh>set pid1=$!
nsh>sleep 15 &
[6:100]
nsh>set pid2=$!
nsh>wait $pid1 $pid2
'wait' command will block nsh from running until pid1 and pid2 finish.
This is useful for parallel requirements to perform certain tasks
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Currently NSH prompt is defined at build time, thus improper for AMP cases
where the same NSH binary is used on different nodes as the same NSH prompt
shows on all nodes.
This patch attempts to support runtime prompt string population from ordered
sources:
- the environment variable defined by NSH_PROMPT_ENV plus suffix
- the NSH_PROMPT_STRING
- the HOSTNAME plus suffix
The suffix is defined by NSH_PROMPT_SUFFIX so that to clearly separate the
command inputs.
Changes in `nshlib/`
- Kconfig: add configs NSH_PROMPT_MAX/ENV/SUFFIX etc
- nsh.h: adjust g_nshprompt defs, add nsh_update_prompt
- nsh_parse.c relocate g_nshpromt to nsh_prompt.c
- nsh_init.c revise to use nsh_update_prompt once
- nsh_session.c revise to use methods in nsh_prompt.c
- Makefile add nsh_prompt.c
- CMakeLists.txt add nsh_prompt.c
New additions in `nshlib/`
- nsh_prompt.c prompt related data structures and methods.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
This commit corresponds to apache/nuttx#11498 in nuttx.
Move etc romfs mount to sched/init for compatibility with kernel/protected mode.
changes:
- move etc romfs mount from nsh to Nuttx, but keep the script to parse and execute.
- move and rename the related CONFIG, move customized nsh_romfsimg.h to etc_romfs.c
in boards, and no need declaration for romfs_img/romfs_img_len.
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
This adds support for string aliases into nsh. There are some nuances that
are not handled correctly yet:
- Reserved words can be overloaded, which is a clear POSIX violation
Replace all fwrite/fread/fgets/... to write/read/...
Before:
```
text data bss dec hex filename
109827 601 6608 117036 1c92c nuttx/nuttx
```
After:
```
text data bss dec hex filename
108053 601 6608 115262 1c23e nuttx/nuttx
```
After with CONFIG_FILE_STREAM disabled:
```
text data bss dec hex filename
105667 601 6608 112876 1b8ec nuttx/nuttx
```
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Squashed commit of the following:
apps/nshlib: Remove NSH initialization. Now uses the common apps/netutils/netinit logic (which was cloned from nshlib to begin with).
apps/netutils/netinit: Clone network initialization logic from NSH to this directory so that it can be available for general use.
Here are some offenders: examples/cc3000/shell.c, examples/nsh/nsh_main.c, examples/nxterm/nxterm_main.c, and examples/pty_test/pty_test.c. It is possible that for some of those, that represents the first call to nsh_consolemain(). But probably not.
To give other initialization options, I added nsh_consolechild() which is identical to nsh_consolemain() other than it omits all of the one-time initialization. Of course, you would not get the result that you wanted if nsh_consolechild() were called without nsh_consolemain().