diff options
Diffstat (limited to 'nuttx/Documentation/NuttShell.html')
-rw-r--r-- | nuttx/Documentation/NuttShell.html | 132 |
1 files changed, 122 insertions, 10 deletions
diff --git a/nuttx/Documentation/NuttShell.html b/nuttx/Documentation/NuttShell.html index 8e3497552..de80660ad 100644 --- a/nuttx/Documentation/NuttShell.html +++ b/nuttx/Documentation/NuttShell.html @@ -459,10 +459,11 @@ </table> <p> + <a name="nshlibrary"><b>The NSH Library</b></a>. The <code>apps/nshlib</code> sub-directory contains the NuttShell (NSH) library. - This library can easily to linked to produce a NSH application (See as an example <code>apps/nshlib</code>). - NSH is a simple shell application for NuttX. + This library can easily to linked to produce a NSH application (See as an example <code>apps/examples/nsh</code>). + The NSH Library provides a simple shell application for NuttX. </p> <table width ="100%"> @@ -474,17 +475,104 @@ </table> <p> - Using settings in the configuration file, NSH may be configured to - use either the serial stdin/out or a telnet connection as the console - or BOTH. When NSH is started, you will see the following welcome on - either console: + <a name="nshconsoles"><b>NSH Consoles</b></a>. + Using settings in the configuration file, NSH may be configured to use + (1) the serial stdin/out, + (2) a USB serial device (such as CDC/ACM), or + (3) a telnet connection as the console. + Or, perhaps even all at once since or BOTH. + An indefinite number of telnet sessions are supported. +</p> +<p> + <a name="nshprompt"><b>Start-Up prompt</b></a>. + When NSH is started, you will see the a welcome message such the following on the selected console: <ul><pre> NuttShell (NSH) nsh> </pre></ul> - <code>nsh></code> is the NSH prompt and indicates that you may enter a command - from the console. + The greating may also include NuttX versioning information if you are using a versioned copy of NuttX. + <code>nsh></code> is the NSH prompt and indicates that you may enter a command from the console. +</p> +<p> + <a name="cle"><b>Extended Command Line Editing</b></a>. + By default, NuttX uses a simple command line editor that allows command entry after the <code>nsh></code> and supports only the <i>backspace</i> key for editing. + However, a more complete command line editor can be selected by setting <code>CONFIG_NSH_CLE=y</code> in the NuttX configuration file. + When that option is selected, the following EMACS-like line editing commands are supported: </p> +<center><table width="60%" border="5" bgcolor="f8f8f8" bordercolor="lightgray"> +<tr> + <td align="center" bgcolor="#e4e4e4"> + <b>Key Binding</b> + </td> + <td align="center" bgcolor="#e4e4e4"> + <b>Editor Action</b> + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^A</code> + </td> + <td align="left" valign="top"> + Move cursor to start of the line + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^B</code> + </td> + <td align="left" valign="top"> + Move left one character + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^D</code> or <i>Del</i> + </td> + <td align="left" valign="top"> + Delete a single character at the cursor position + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^E</code> + </td> + <td align="left" valign="top"> + Move cursor to end of current line + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^F</code> + </td> + <td align="left" valign="top"> + Move right one character + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^H</code> or <i>Backspace</i> + </td> + <td align="left" valign="top"> + Delete character, left (backspace) + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^K</code> + </td> + <td align="left" valign="top"> + Delete to the end of the line + </td> +</tr> +<tr> + <td align="left" valign="top"> + <code>^U</code> + </td> + <td align="left" valign="top"> + Delete the entire line + </td> +</tr> +</table></center> <table width ="100%"> <tr bgcolor="#e4e4e4"> @@ -2737,6 +2825,25 @@ nsh> <th align="left">Description</th> </tr> <tr> + <td valign="top"><b><code>CONFIG_NSH_READLINE</code></b></td> + <td> + Selects the minimal implementation of <code>readline()</code>. + This minimal implementation provides on backspace for command line editing. + It expects some minimal VT100 command support from the terminal. + </td> + </tr> + + <tr> + <td valign="top"><b><code>CONFIG_NSH_CLE</code></b></td> + <td> + Selects the more extensive, EMACS-like command line editor. + Select this option only if + (1) you don't mind a modest increase in the FLASH footprint, and + (2) you work with a terminal that supports extensive VT100 editing commands. + Selecting this option will add probably 1.5-2KB to the FLASH footprint. + </td> + </tr> + <tr> <td valign="top"><b><code>CONFIG_NSH_BUILTIN_APPS</code></b></td> <td> Support external registered, "builtin" applications that can be @@ -4054,6 +4161,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#cmdcat"><code>cat</code></a></li> <li><a href="#cmdcd"><code>cd</code></a></li> <li><a href="#cmdcmp"><code>cmp</code></a></li> + <li><a href="#cle">Command Line Editing</a></li> <li><a href="#commands">Command summaries</a></li> <li><a href="#custoncmds">Command table</a></li> <li><a href="#conditional">Conditional command execution</a></li> @@ -4065,6 +4173,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#nshconfiguration"><code>CONFIG_NSH_ARGCAT</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_BUILTIN_APPS</code></a></li> <li><a href="#custapps"><code>CONFIG_NSH_BUILTIN_APPS</code></a></li> + <li><a href="#nshconfiguration"><code>CONFIG_NSH_CLE</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_CMDPARMS</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_CONSOLE</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_DHCPC</code></a></li> @@ -4090,6 +4199,7 @@ mount -t vfat /dev/ram1 /tmp </ul></td> <td width="33%" valign="top"> <ul> + <li><a href="#nshconfiguration"><code>CONFIG_NSH_READLINE</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_ROMFSDEVNO</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_NSH_ROMFSETC</code></a></li> <li><a href="#custinit"><code>CONFIG_NSH_ROMFSETC</code></a></li> @@ -4112,6 +4222,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#configuration">Configuration settings</a></li> <li><a href="#cmddependencies">Configuration settings, command dependencies</a></li> <li><a href="#nshconfiguration">Configuration settings, NSH-specific</a></li> + <li><a href="#nshconsoles">consoles</a></li> <li><a href="#cmdcp"><code>cp</code></a></li> <li><a href="#currentwd">Current working directory</a></li> <li><a href="#customizingnsh">Customizing NSH</a></li> @@ -4132,7 +4243,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#custoncmds"><code>g_cmdmap</code></a></li> <li><a href="#custinit"><code>genromfs</code></a></li> <li><a href="#cmdget"><code>get</code></a></li> - <li><a href="#frontend">Greeting</a></li> + <li><a href="#nshprompt">Greeting</a></li> <li><a href="#cmdhelp"><code>help</code></a></li> <li><a href="#cmdhexdump"><code>hexdump</code></a></li> <li><a href="#conditional"><code>if-then[-else]-fi</code></a></li> @@ -4160,6 +4271,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#cmdnfsmount"><code>nfsmount</code></a></li> <li><a href="#cmdoverview"><code>nice</code></a></li> <li><a href="#custonshlib">NSH library (<code>nshlib</code>)</a></li> + <li><a href="#nshlibrary">NSH library (<code>nshlib</code>)</a></li> <li><a href="#custonshlib"><code>nsh_archinitialize()</code></a></li> <li><a href="#custonshlib"><code>nsh_consolemain()</code></a></li> <li><a href="#custonshlib"><code>nsh_initialize()</code></a></li> @@ -4173,7 +4285,7 @@ mount -t vfat /dev/ram1 /tmp <li><a href="#environvars"><code>OLDPWD</code></a></li> <li><a href="#overview">Overview</a></li> <li><a href="#cmdping"><code>ping</code></a></li> - <li><a href="#frontend">Prompt</a></li> + <li><a href="#nshprompt">Prompt</a></li> <li><a href="#cmdps"><code>ps</code></a></li> <li><a href="#cmdput"><code>put</code></a></li> <li><a href="#cmdpwd"><code>pwd</code></a></li> |