nuttx-apps/system/nsh
Xiang Xiao 9d80399bd5 nsh: Accept the command line arguments like sh
Usage: nsh [<script-path>|-c <command>]

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ifb76b27e7fd09d26b1f6e48c391fed0972018041
2020-08-19 14:32:53 -07:00
..
Kconfig apps: Remove all stuff related to CONFIG_xxx_CXXINITIALIZE 2020-07-01 10:03:12 -06:00
Make.defs apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Makefile build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs 2020-07-09 15:17:37 -03:00
nsh_main.c nsh: Accept the command line arguments like sh 2020-08-19 14:32:53 -07:00
README.md Rewritten READMEs to Markdown 2020-07-25 01:01:51 -07:00
sh_main.c nshlib: Split shell functionality from nsh to sh 2020-04-19 08:07:06 -06:00

System / nsh NuttShell (NSH)

Basic Configuration

This directory provides an example of how to configure and use the NuttShell (NSH) application. NSH is a simple shell application. NSH is described in its own README located at apps/nshlib/README.md. This function is enabled with:

CONFIG_SYSTEM_NSH=y

Applications using this example will need to provide an defconfig file in the configuration directory with instruction to build the NSH library like:

CONFIG_NSH_LIBRARY=y

Other Configuration Requirements

Note: If the NSH serial console is used, then following is also required to build the readline() library:

CONFIG_SYSTEM_READLINE=y

And if networking is included:

CONFIG_NETUTILS_NETLIB=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETUTILS_TFTPC=y
CONFIG_NETUTILS_WEBCLIENT=y

If the Telnet console is enabled, then the defconfig file should also include:

CONFIG_NETUTILS_TELNETD=y

Also if the Telnet console is enabled, make sure that you have the following set in the NuttX configuration file or else the performance will be very bad (because there will be only one character per TCP transfer):

  • CONFIG_STDIO_BUFFER_SIZE - Some value >= 64
  • CONFIG_STDIO_LINEBUFFER=y