blob: a9a61568a3cff31f8a8d6885088d2f6283d2a0c8 [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Configuration Settings &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/clipboard.min.js"></script>
<script src="../../_static/copybutton.js"></script>
<script src="../../_static/design-tabs.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="The NSH Library and NSH Initialization" href="customizing.html" />
<link rel="prev" title="Commands" href="commands.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../latest" selected="selected">latest</option>
<option value="../../../10.0.0" >10.0.0</option>
<option value="../../../10.0.1" >10.0.1</option>
<option value="../../../10.1.0" >10.1.0</option>
<option value="../../../10.2.0" >10.2.0</option>
<option value="../../../10.3.0" >10.3.0</option>
<option value="../../../11.0.0" >11.0.0</option>
<option value="../../../12.0.0" >12.0.0</option>
<option value="../../../12.1.0" >12.1.0</option>
<option value="../../../12.2.0" >12.2.0</option>
<option value="../../../12.2.1" >12.2.1</option>
<option value="../../../12.3.0" >12.3.0</option>
<option value="../../../12.4.0" >12.4.0</option>
<option value="../../../12.5.0" >12.5.0</option>
<option value="../../../12.5.1" >12.5.1</option>
<option value="../../../12.6.0" >12.6.0</option>
<option value="../../../12.7.0" >12.7.0</option>
<option value="../../../12.8.0" >12.8.0</option>
<option value="../../../12.9.0" >12.9.0</option>
<option value="../../../12.10.0" >12.10.0</option>
<option value="../../../12.11.0" >12.11.0</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../components/index.html">OS Components</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../audioutils/index.html">Audio Utility libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../boot/index.html">Bootloader Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../benchmarks/index.html">Benchmark Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../canutils/index.html">CAN Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../crypto/index.html">Cryptography Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../fsutils/index.html">File System Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../games/index.html">Games</a></li>
<li class="toctree-l2"><a class="reference internal" href="../graphics/index.html">Graphics Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../industry/index.html">Industrial Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../inertial/index.html">Inertial Libraries Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../interpreters/index.html">Interpreters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../logging/index.html">Logging Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../lte/index.html">LTE Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../math/index.html">Math Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../mlearing/index.html">Machine Learning Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../netutils/index.html">Network Utilities</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">NuttShell (NSH)</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="nsh.html">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="commands.html">Commands</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Configuration Settings</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#command-dependencies-on-configuration-settings">Command Dependencies on Configuration Settings</a></li>
<li class="toctree-l4"><a class="reference internal" href="#built-in-command-dependencies-on-configuration-settings">Built-In Command Dependencies on Configuration Settings</a></li>
<li class="toctree-l4"><a class="reference internal" href="#nsh-specific-configuration-settings">NSH-Specific Configuration Settings</a></li>
<li class="toctree-l4"><a class="reference internal" href="#common-problems">Common Problems</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="customizing.html">The NSH Library and NSH Initialization</a></li>
<li class="toctree-l3"><a class="reference internal" href="customizing.html#nsh-commands">NSH Commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="builtin.html">NSH “Built-In” Applications</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">Customizing NSH Initialization</a></li>
<li class="toctree-l3"><a class="reference internal" href="login.html">Shell Login</a></li>
<li class="toctree-l3"><a class="reference internal" href="running_apps.html">Running Applications from NSH</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../sdr/index.html">Software Define Radio Libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../system/index.html">System Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing/index.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tools/index.html">Host Side Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../wireless/index.html">Wireless Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/index.html">Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../implementation/index.html">Implementation Details</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../debugging/index.html">Debugging</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../logos/index.html">NuttX Logos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../_tags/tagsindex.html">Tags</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Applications</a></li>
<li class="breadcrumb-item"><a href="index.html">NuttShell (NSH)</a></li>
<li class="breadcrumb-item active">Configuration Settings</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/nuttx/blob/master/Documentation/applications/nsh/config.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="configuration-settings">
<h1>Configuration Settings<a class="headerlink" href="#configuration-settings" title="Permalink to this heading"></a></h1>
<p>The availability of the above commands depends upon features that may or
may not be enabled in the NuttX configuration file. The following
<a class="reference internal" href="#cmddependencies"><span class="std std-ref">cmdtable</span></a> indicates the dependency of each command on
NuttX configuration settings. General configuration settings are
discussed in the NuttX Porting Guide.
Configuration settings specific to NSH as discussed at the
<a class="reference internal" href="#nshconfiguration"><span class="std std-ref">cmdbottom</span></a> of this document.</p>
<p>Note that in addition to general NuttX configuration settings, each NSH
command can be individually disabled via the settings in the rightmost
column. All of these settings make the configuration of NSH potentially
complex but also allow it to squeeze into very small memory footprints.</p>
<section id="command-dependencies-on-configuration-settings">
<span id="cmddependencies"></span><h2>Command Dependencies on Configuration Settings<a class="headerlink" href="#command-dependencies-on-configuration-settings" title="Permalink to this heading"></a></h2>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Command</p></th>
<th class="head"><p>Depends on Configuration</p></th>
<th class="head"><p>Can Be Disabled with</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">[</span></code></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLESCRIPT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_TEST</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdaddroute"><span class="std std-ref">addroute Add a Routing Table Entry</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ROUTE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ADDROUTE</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdarp"><span class="std std-ref">arp Access the ARP table</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ARP</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ARP</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdbase64dec"><span class="std std-ref">base64dec Base64 Decode</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_CODECS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_CODECS_BASE64</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_BASE64DEC</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdbase64enc"><span class="std std-ref">base64enc Base64 Encode</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_CODECS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_CODECS_BASE64</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_BASE64ENC</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdbasename"><span class="std std-ref">basename Extract Base File/Directory Name</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_BASENAME</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdbreak"><span class="std std-ref">break Terminate a Loop</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLESCRIPT</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_LOOPS</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdcat"><span class="std std-ref">cat Concatenate Files</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_CAT</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdcd"><span class="std std-ref">cd Change Current Working Directory</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_CD</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdcmp"><span class="std std-ref">cmp Compare Files</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_CMP</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdcp"><span class="std std-ref">cp Copy Files</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_CP</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmddate"><span class="std std-ref">date Show or set the date and time</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_DATE</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmddelroute"><span class="std std-ref">delroute Delete a Routing Table Entry</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ROUTE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_DELROUTE</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmddf"><span class="std std-ref">df Show Volume Status</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_DF</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmddirname"><span class="std std-ref">dirname Extract Path to a File/Directory</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_DIRNAME</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmddmesg"><span class="std std-ref">dmesg Dump Buffered SYSLOG Output</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_RAMLOG_SYSLOG</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_DMESG</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdecho"><span class="std std-ref">echo Echo Strings and Variables</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ECHO</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdenv"><span class="std std-ref">env Show Environment Variables</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code> &amp;&amp; <br/>
! <code class="docutils literal notranslate"><span class="pre">CONFIG_PROCFS_EXCLUDE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ENV</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdexec"><span class="std std-ref">exec Execute User Code</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_EXEC</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdexit"><span class="std std-ref">exit Exit NSH</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_EXIT</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdexport"><span class="std std-ref">export Set an Environment Variable</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_EXPORT</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdfree"><span class="std std-ref">free Show Memory Manager Status</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_FREE</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdget"><span class="std std-ref">get Get File Via TFTP</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_UDP</span></code> &amp;&amp;
<em>MTU</em> &gt;= 58<a class="footnote-reference brackets" href="#id5" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_GET</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdhelp"><span class="std std-ref">help Show Usage Command Usage</span></a> <a class="footnote-reference brackets" href="#id7" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>6<span class="fn-bracket">]</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_HELP</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdhexdump"><span class="std std-ref">hexdump Hexadecimal Dump of File or Device</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_HEXDUMP</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdifconfig"><span class="std std-ref">ifconfig Manage Network Configuration</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_NET</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_IFCONFIG</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdifdown"><span class="std std-ref">ifdown Take a network down</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_NET</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_IFUPDOWN</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdifup"><span class="std std-ref">ifup Bring a network up</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_NET</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_IFUPDOWN</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdinsmod"><span class="std std-ref">insmod Install an OS module</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_MODULE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MODCMDS</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdirqinfo"><span class="std std-ref">irqinfo Show Interrupt Status</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp; <br/>
<code class="docutils literal notranslate"><span class="pre">CONFIG_SCHED_IRQMONITOR</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdkill"><span class="std std-ref">kill Send a signal to a task</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_KILL</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdlosetup"><span class="std std-ref">losetup Setup/teardown the Loop Device</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_DEV_LOOP</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_LOSETUP</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdln"><span class="std std-ref">ln Link to a File or Directory</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PSEUDOFS_SOFTLINKS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_LN</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdls"><span class="std std-ref">ls List Directory Contents</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_LS</span></code></p></td>
<td><p>.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdlsmod"><span class="std std-ref">lsmod Show information about installed OS modules</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_MODULE</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code>
&amp;&amp; <br/>
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_MODULE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MODCMDS</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdmd5"><span class="std std-ref">md5 Calculate MD5</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_CODECS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_CODECS_HASH_MD5</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MD5</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdmx"><span class="std std-ref">mb, mh, and mw Access Memory</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MB</span></code>, <br/>
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MH</span></code>, <br/>
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MW</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdmkdir"><span class="std std-ref">mkdir Create a Directory</span></a></p></td>
<td><p>(! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> ||
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code>)</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MKDIR</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdmkfatfs"><span class="std std-ref">mkfatfs Create a FAT File System</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_FSUTILS_MKFATFS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MKFATFS</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdmkfifo"><span class="std std-ref">mkfifo Create a FIFO</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PIPES</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_DEV_FIFO_SIZE</span></code> &gt; 0</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MKFIFO</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdmkrd"><span class="std std-ref">mkrd Create a RAMDISK</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MKRD</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdmount"><span class="std std-ref">mount Mount a File System</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MOUNT</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdmv"><span class="std std-ref">mv Rename a File</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> ||
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MV</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdnfsmount"><span class="std std-ref">nfsmount Mount an NFS file system</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NFS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_NFSMOUNT</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdnslookup"><span class="std std-ref">nslookup Lookup a network address</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_NETDB</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NETDB_DNSCLIENT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_NSLOOKUP</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdpasswd"><span class="std std-ref">passwd Change a User’s Password</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_LOGIN_PASSWD</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_PASSWD</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdpmconfig"><span class="std std-ref">pmconfig Manage Power Management Subsystem</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PM</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_PMCONFIG</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdpoweroff"><span class="std std-ref">poweroff Shut the system down</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BOARDCTL_POWEROFF</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_POWEROFF</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdps"><span class="std std-ref">ps Show Current Tasks and Threads</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_PROC</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_PS</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdput"><span class="std std-ref">put Send File Via TFTP</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_UDP</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">MTU</span> <span class="pre">&gt;=</span> <span class="pre">558</span></code> <a class="footnote-reference brackets" href="#id5" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a>, <a class="footnote-reference brackets" href="#id6" id="id4" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_PUT</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdpwd"><span class="std std-ref">pwd Show Current Working Directory</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_PWD</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdreadlink"><span class="std std-ref">readlink Show target of a link</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PSEUDOFS_SOFTLINKS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_READLINK</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdreboot"><span class="std std-ref">reboot Reboot the system</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BOARD_RESET</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_REBOOT</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdrm"><span class="std std-ref">rm Remove a File</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> ||
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_RM</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdrmdir"><span class="std std-ref">rmdir Remove a Directory</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> |! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_RMDIR</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdrmmod"><span class="std std-ref">rmmod Remove on OS Module</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_MODULE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_MODCMDS</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdroute"><span class="std std-ref">route Show routing table</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_NET</span></code> &amp;&amp; <br/>
! <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_EXCLUDE_ROUTE</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ROUTE</span></code> &amp;&amp; <br/>
! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ROUTE</span></code> &amp;&amp; <br/>
(<code class="docutils literal notranslate"><span class="pre">CONFIG_NET_IPv4</span></code> |<code class="docutils literal notranslate"><span class="pre">CONFIG_NET_IPv6</span></code>)</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ROUTE</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdrptun"><span class="std std-ref">rptun Start/Stop the OpenAMP RPC Tunnel</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_RPTUN</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_RPTUN</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdset"><span class="std std-ref">set Set a Variable</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code> ||
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_SET</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdshutdown"><span class="std std-ref">shutdown Shut the system down</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BOARDCTL_POWEROFF</span></code> ||
<code class="docutils literal notranslate"><span class="pre">CONFIG_BOARD_RESET</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_SHUTDOWN</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdsleep"><span class="std std-ref">sleep Wait for Seconds</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_SLEEP</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">cmdsource</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FILE_STREAM</span></code> &amp;&amp;
! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLESCRIPT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_SOURCE</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdtelnetd"><span class="std std-ref">telnetd Time Start the Telnet Daemon</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_TELNET</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD</span></code></p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdtest"><span class="std std-ref">test Evaluate Expression</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLESCRIPT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_TEST</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdtime"><span class="std std-ref">time Time execution of another command</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_TIME</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdtruncate"><span class="std std-ref">truncate Set the Size of a File</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_TRUNCATE</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdumount"><span class="std std-ref">umount Unmount a File System</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_UMOUNT</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmduname"><span class="std std-ref">uname Print system information</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_UNAME</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdunset"><span class="std std-ref">unset Unset an Environment Variable</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code> ||
! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_UNSET</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdurldecode"><span class="std std-ref">urldecode URL Decode</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_CODECS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_CODECS_URLCODE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_URLDECODE</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdurlencode"><span class="std std-ref">urlencode URL Encode</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_CODECS</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_CODECS_URLCODE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_URLENCODE</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmduseradd"><span class="std std-ref">useradd Add a New User</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_LOGIN_PASSWD</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_USERADD</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmduserdel"><span class="std std-ref">userdel Delete a user</span></a></p></td>
<td><p>! <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_MOUNTPOINT</span></code> &amp;&amp;
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_LOGIN_PASSWD</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_USERDEL</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdusleep"><span class="std std-ref">usleep Wait for Microseconds</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_USLEEP</span></code></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="commands.html#cmdwget"><span class="std std-ref">wget Get File Via HTTP</span></a></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCP</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_WGET</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="commands.html#cmdxd"><span class="std std-ref">xd Hexadecimal Dump of Memory</span></a></p></td>
<td><p>.</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_XD</span></code></p></td>
</tr>
</tbody>
</table>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id5" role="note">
<span class="label"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></span>
<span class="backrefs">(<a role="doc-backlink" href="#id1">1</a>,<a role="doc-backlink" href="#id3">2</a>)</span>
<p>Because of hardware padding, the actual required packet size may be larger</p>
</aside>
<aside class="footnote brackets" id="id6" role="note">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id4">5</a><span class="fn-bracket">]</span></span>
<p>Special TFTP server start-up options will probably be required to permit creation of files for the correct operation of the <code class="docutils literal notranslate"><span class="pre">put</span></code> command.</p>
</aside>
<aside class="footnote brackets" id="id7" role="note">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">6</a><span class="fn-bracket">]</span></span>
<p>Verbose help output can be suppressed by defining <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_HELP_TERSE</span></code>. In that case, the help command is still available but will be slightly smaller.</p>
</aside>
</aside>
</section>
<section id="built-in-command-dependencies-on-configuration-settings">
<h2>Built-In Command Dependencies on Configuration Settings<a class="headerlink" href="#built-in-command-dependencies-on-configuration-settings" title="Permalink to this heading"></a></h2>
<p>All built-in applications require that support for NSH built-in
applications has been enabled. This support is enabled with
<code class="docutils literal notranslate"><span class="pre">CONFIG_BUILTIN=y</span></code> and <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_BUILTIN_APPS=y</span></code>.</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Command</p></th>
<th class="head"><p>Depends on Configuration</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ping</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ICMP</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ICMP_SOCKET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_PING</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ping6</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ICMPv6</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ICMPv6_SOCKET</span></code> &amp;&amp; <code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_PING6</span></code></p></td>
</tr>
</tbody>
</table>
</section>
<section id="nsh-specific-configuration-settings">
<span id="nshconfiguration"></span><h2>NSH-Specific Configuration Settings<a class="headerlink" href="#nsh-specific-configuration-settings" title="Permalink to this heading"></a></h2>
<p>The behavior of NSH can be modified with the following settings in the
<code class="docutils literal notranslate"><span class="pre">boards/&lt;arch&gt;/&lt;chip&gt;/&lt;board&gt;/defconfig</span></code> file:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Configuration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_READLINE</span></code></p></td>
<td><p>Selects the minimal implementation of <code class="docutils literal notranslate"><span class="pre">readline()</span></code>.
This minimal implementation provides on backspace for command
line editing. It expects some minimal VT100 command support from the terminal.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CLE</span></code></p></td>
<td><p>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.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_BUILTIN_APPS</span></code></p></td>
<td><p>Support external registered, “builtin” applications that can
be executed from the NSH command line (see apps/README.txt for
more information). This required <code class="docutils literal notranslate"><span class="pre">CONFIG_BUILTIN</span></code> to enable
NuttX support for “builtin” applications.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_FILEIOSIZE</span></code></p></td>
<td><p>Size of a static I/O buffer used for file access (ignored if there
is no file system). Default is 1024.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_STRERROR</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">strerror(errno)</span></code> makes more readable output but
<code class="docutils literal notranslate"><span class="pre">strerror()</span></code> is very large and will not be used unless this
setting is <em>y</em>. This setting depends upon the <code class="docutils literal notranslate"><span class="pre">strerror()</span></code>
having been enabled with <code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_STRERROR</span></code>.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_SEMICOLON</span></code></p></td>
<td><p>By default, you can enter multiple NSH commands on a line
with each command separated by a semicolon. You can disable this
feature to save a little memory on FLASH challenged platforms.
Default: n</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CMDPARMS</span></code></p></td>
<td><p>If selected, then the output from commands, from file applications,
and from NSH built-in commands can be used as arguments to other
commands. The entity to be executed is identified by
enclosing the command line in back quotes. For example:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>set FOO `myprogram $BAR`
</pre></div>
</div>
<p>will execute the program named <code class="docutils literal notranslate"><span class="pre">myprogram</span></code> passing it the
value of the environment variable <code class="docutils literal notranslate"><span class="pre">BAR</span></code>. The value of the
environment variable <code class="docutils literal notranslate"><span class="pre">FOO</span></code> is then set output of <code class="docutils literal notranslate"><span class="pre">myprogram</span></code>
on <code class="docutils literal notranslate"><span class="pre">stdout</span></code>. Because this feature commits significant
resources, it is disabled by default. The <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CMDPARMS</span></code> interim
output will be retained in a temporary file. Full path to a
directory where temporary files can be created is taken from
<code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_TMPDIR</span></code> and it defaults to <code class="docutils literal notranslate"><span class="pre">/tmp</span></code> if
<code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_TMPDIR</span></code> is not set.</p>
</td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_MAXARGUMENTS</span></code></p></td>
<td><p>The maximum number of NSH command arguments. Default: 6</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ARGCAT</span></code></p></td>
<td><p>Support concatenation of strings with environment variables or
command output. For example:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>set FOO XYZ
set BAR 123
set FOOBAR ABC_${FOO}_${BAR}
</pre></div>
</div>
<p>would set the environment variable <code class="docutils literal notranslate"><span class="pre">FOO</span></code> to <code class="docutils literal notranslate"><span class="pre">XYZ</span></code>,
<code class="docutils literal notranslate"><span class="pre">BAR</span></code> to <code class="docutils literal notranslate"><span class="pre">123</span></code> and <code class="docutils literal notranslate"><span class="pre">FOOBAR</span></code> to <code class="docutils literal notranslate"><span class="pre">ABC_XYZ_123</span></code>. If
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ARGCAT</span></code> is not selected, then a slightly small
FLASH footprint results but then also only simple environment
variables like <code class="docutils literal notranslate"><span class="pre">$FOO</span></code> can be used on the command line.</p>
</td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code></p></td>
<td><p>By default, there are no internal NSH variables. NSH will use OS
environment variables for all variable storage. If this option,
NSH will also support local NSH variables. These variables are,
for the most part, transparent and work just like the OS
environment variables. The difference is that when you
create new tasks, all of environment variables are
inherited by the created tasks. NSH local variables are not.
If this option is enabled (and <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_ENVIRON</span></code> is not),
then a new command called ‘export’ is enabled. The export
command works very must like the set command except that is
operates on environment variables. When CONFIG_NSH_VARS
is enabled, there are changes in the behavior of certain commands.
See following <a class="reference internal" href="#nsh-vars-table"><span class="std std-ref">cmdtable</span></a>.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_QUOTE</span></code></p></td>
<td><p>Enables back-slash quoting of certain characters within the
command. This option is useful for the case where an NSH script
is used to dynamically generate a new NSH script. In that case,
commands must be treated as simple text strings without
interpretation of any special characters. Special characters
such as <code class="docutils literal notranslate"><span class="pre">$</span></code>, <code class="docutils literal notranslate"><span class="pre">`</span></code>, <code class="docutils literal notranslate"><span class="pre">&quot;</span></code>, and others must be
retained intact as part of the test string. This option is
currently only available is <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ARGCAT</span></code> is also
selected.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_NESTDEPTH</span></code></p></td>
<td><p>The maximum number of nested <code class="docutils literal notranslate"><span class="pre">if-then[-else]-fi</span></code> &lt;#conditional&gt;`__
sequences that are permissible. Default: 3</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLESCRIPT</span></code></p></td>
<td><p>This can be set to <em>y</em> to suppress support for scripting.
This setting disables the <code class="docutils literal notranslate"><span class="pre">`sh</span></code> &lt;#cmdsh&gt;`__,
<code class="docutils literal notranslate"><span class="pre">`test</span></code> &lt;#cmdtest&gt;`__, and <code class="docutils literal notranslate"><span class="pre">`[</span></code> &lt;#cmtest&gt;`__ commands and
the <code class="docutils literal notranslate"><span class="pre">`if-then[-else]-fi</span></code> &lt;#conditional&gt;`__
construct. This would only be set on systems where a minimal
footprint is a necessity and scripting is not.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_ITEF</span></code></p></td>
<td><p>If scripting is enabled, then then this option can be selected
to suppress support for <code class="docutils literal notranslate"><span class="pre">if-then-else-fi</span></code> sequences in
scripts. This would only be set on systems where some minimal
scripting is required but <code class="docutils literal notranslate"><span class="pre">if-then-else-fi</span></code> is not.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLE_LOOPS</span></code></p></td>
<td><p>If scripting is enabled, then then this option can be selected
suppress support <code class="docutils literal notranslate"><span class="pre">for</span> <span class="pre">while-do-done</span></code> and
<code class="docutils literal notranslate"><span class="pre">until-do-done</span></code> sequences in scripts. This would only be set
on systems where some minimal scripting is required but looping
is not.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DISABLEBG</span></code></p></td>
<td><p>This can be set to <em>y</em> to suppress support for background
commands. This setting disables the <code class="docutils literal notranslate"><span class="pre">`nice</span></code> &lt;#cmdoverview&gt;`__
command prefix and the <code class="docutils literal notranslate"><span class="pre">`&amp;</span></code> &lt;#cmdoverview&gt;`__ command
suffix. This would only be set on systems where a minimal footprint
is a necessity and background command execution is not.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_MMCSDMINOR</span></code></p></td>
<td><p>If the architecture supports an MMC/SD slot and if the NSH
architecture specific logic is present, this option will provide
the MMC/SD minor number, i.e., the MMC/SD block driver will be
registered as <code class="docutils literal notranslate"><span class="pre">/dev/mmcsd</span></code><em>N</em> where <em>N</em> is the minor number.
Default is zero.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONSOLE</span></code></p></td>
<td><p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONSOLE</span></code> is set to <em>y</em>, then a serial console
front-end is selected.</p>
<p>Normally, the serial console device is a UART and RS-232
interface. However, if <code class="docutils literal notranslate"><span class="pre">CONFIG_USBDEV</span></code> is defined,
then a USB serial device may, instead, be used if the one of
the following are defined:</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PL2303</span></code> and <code class="docutils literal notranslate"><span class="pre">CONFIG_PL2303_CONSOLE</span></code>.
Sets up the Prolifics PL2303 emulation as a console device
at <code class="docutils literal notranslate"><span class="pre">/dev/console</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_CDCACM</span></code> and <code class="docutils literal notranslate"><span class="pre">CONFIG_CDCACM_CONSOLE</span></code>.
Sets up the CDC/ACM serial device as a console device at
<code class="docutils literal notranslate"><span class="pre">/dev/console</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONSOLE</span></code>. If defined, then an arbitrary USB
device may be used to as the NSH console. In this case,
<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONDEV</span></code> must be defined to indicate which
USB device to use as the console. The advantage of
using a device other that <code class="docutils literal notranslate"><span class="pre">/dev/console</span></code> is that
normal debug output can then use <code class="docutils literal notranslate"><span class="pre">/dev/console</span></code> while NSH
uses <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONDEV</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONDEV</span></code>. If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONSOLE</span></code> is
set to ‘y’, then <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONDEV</span></code> must also be set to select the USB
device used to support the NSH console. This should be set to
the quoted name of a readable/write-able USB driver
such as: <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBCONDEV=&quot;/dev/ttyACM0&quot;</span></code>.</p>
</li>
</ul>
<p>If there are more than one USB slots, then a USB device minor
number may also need to be provided:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_UBSDEV_MINOR</span></code>: The minor device number of the USB device. Default: 0</p></li>
</ul>
<p>If USB tracing is enabled (<code class="docutils literal notranslate"><span class="pre">CONFIG_USBDEV_TRACE</span></code>), then
NSH will initialize USB tracing as requested by the following.
Default: Only USB errors are traced.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBDEV_TRACEINIT</span></code>: Show initialization events</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBDEV_TRACECLASS</span></code>: Show class driver events</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBDEV_TRACETRANSFERS</span></code>: Show data transfer events</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBDEV_TRACECONTROLLER</span></code>: Show controller events</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_USBDEV_TRACEINTERRUPTS</span></code>: Show interrupt-related events.</p></li>
</ul>
</td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ALTCONDEV</span></code> and</p></td>
<td><p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONSOLE</span></code> is set <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONDEV</span></code>
to <em>y</em>, then <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ALTCONDEV</span></code> may also
be selected to enable use of an alternate character device to
support the NSH console. If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ALTCONDEV</span></code> is
selected, then <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONDEV</span></code> holds the
quoted name of a readable/write-able character
driver such as: <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONDEV=&quot;/dev/ttyS1&quot;</span></code>.
This is useful, for example, to separate the NSH command line
from the system console when the system console is used to provide
debug output. Default: <code class="docutils literal notranslate"><span class="pre">stdin</span></code> and <code class="docutils literal notranslate"><span class="pre">stdout</span></code> (probably
<code class="docutils literal notranslate"><span class="pre">/dev/console</span></code>”)</p>
<ul class="simple">
<li><p><strong>NOTE 1:</strong> When any other device other than
<code class="docutils literal notranslate"><span class="pre">/dev/console</span></code> is used for a user interface, (1) linefeeds
(<code class="docutils literal notranslate"><span class="pre">\n</span></code>) will not be expanded to carriage return / linefeeds
(<code class="docutils literal notranslate"><span class="pre">\r\n</span></code>). You will need to configure your terminal
program to account for this.
And (2) input is not automatically echoed so you
will have to turn local echo on.</p></li>
<li><p><strong>NOTE 2:</strong> This option forces the console of all sessions to
use NSH_CONDEV. Hence, this option only makes sense for a
system that supports only a single session. This option
is, in particular, incompatible with Telnet
sessions because each Telnet session must use a different
console device.</p></li>
</ul>
</td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_TELNET</span></code></p></td>
<td><p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_TELNET</span></code> is set to <em>y</em>, then a TELNET server
front-end is selected. When this option is provided, you may log
into NuttX remotely using telnet in order to access NSH.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ARCHINIT</span></code></p></td>
<td><p>Set <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ARCHINIT</span></code> if your board provides architecture
specific initialization via the board-specific function
<code class="docutils literal notranslate"><span class="pre">board_app_initialize()</span></code>. This function will be called early in
NSH initialization to allow board logic to do such things as
configure MMC/SD slots.</p></td>
</tr>
</tbody>
</table>
<table class="docutils align-default" id="nsh-vars-table">
<thead>
<tr class="row-odd"><th class="head"><p>CMD</p></th>
<th class="head"><p>w/o <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code></p></th>
<th class="head"><p>w/<code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_VARS</span></code></p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">&lt;a&gt;</span> <span class="pre">&lt;b&gt;</span></code></p></td>
<td><p>Set environment variable &lt;a&gt; to &lt;b&gt;</p></td>
<td><p>Set NSH variable &lt;a&gt; to &lt;b&gt; (Unless the NSH variable has been <em>promoted</em> via
<code class="docutils literal notranslate"><span class="pre">export</span></code>, in which case the env ironment variable of the same name is set to &lt;b&gt;).</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">set</span></code></p></td>
<td><p>Causes an error.</p></td>
<td><p>Lists all NSH variables.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">unset</span> <span class="pre">&lt;a&gt;</span></code></p></td>
<td><p>Unsets environment variable &lt;a&gt;</p></td>
<td><p>Unsets both environment variable <em>and</em> NSH variable with and name &lt;a&gt;</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">&lt;a&gt;</span> <span class="pre">&lt;b&gt;</span></code></p></td>
<td><p>Causes an error,</p></td>
<td><p>Unsets NSH variable &lt;a&gt;. Sets environment variable &lt;a&gt; to &lt;b&gt;.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">&lt;a&gt;</span></code></p></td>
<td><p>Causes an error.</p></td>
<td><p>Sets environment variable &lt;a&gt; to the value of NSH variable &lt;a&gt; (or “” if the
NSH variable has not been set). Unsets NSH local variable &lt;a&gt;.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">env</span></code></p></td>
<td><p>Lists all environment variables</p></td>
<td><p>Lists all environment variables (<em>only</em>)</p></td>
</tr>
</tbody>
</table>
<p>If Telnet is selected for the NSH console, then we must configure the
resources used by the Telnet daemon and by the Telnet clients.</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Configuration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD_PORT</span></code></p></td>
<td><p>The telnet daemon will listen on this TCP port number for connections. Default: 23</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD_PRIORITY</span></code></p></td>
<td><p>Priority of the Telnet daemon. Default: <code class="docutils literal notranslate"><span class="pre">SCHED_PRIORITY_DEFAULT</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD_STACKSIZE</span></code></p></td>
<td><p>Stack size allocated for the Telnet daemon. Default: 2048</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD_SESSION_PRIORITY</span></code></p></td>
<td><p>Priority of the Telnet client. Default: <code class="docutils literal notranslate"><span class="pre">SCHED_PRIORITY_DEFAULT</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TELNETD_SESSION_STACKSIZE</span></code></p></td>
<td><p>Stack size allocated for the Telnet client. Default: 2048</p></td>
</tr>
</tbody>
</table>
<p>One or both of <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_CONSOLE</span></code> and <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_TELNET</span></code> must be
defined. If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_TELNET</span></code> is selected, then there some other
configuration settings that apply:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Configuration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET=y</span></code></p></td>
<td><p>Of course, networking must be enabled.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCP=y</span></code></p></td>
<td><p>TCP/IP support is required for telnet (as well as various other
TCP-related configuration settings).</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DHCPC</span></code></p></td>
<td><p>Obtain the IP address via DHCP.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_IPADDR</span></code></p></td>
<td><p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DHCPC</span></code> is NOT set, then the static IP address must be
provided.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_DRIPADDR</span></code></p></td>
<td><p>Default router IP address</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_NETMASK</span></code></p></td>
<td><p>Network mask</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_NOMAC</span></code></p></td>
<td><p>Set if your Ethernet hardware has no built-in MAC address. If set, a
bogus MAC will be assigned.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_MAX_ROUNDTRIP</span></code></p></td>
<td><p>This is the maximum round trip for a response to a ICMP ECHO request. It
is in units of deciseconds. The default is 20 (2 seconds).</p></td>
</tr>
</tbody>
</table>
<p>If you use DHCPC, then some special configuration network options are
required. These include:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Configuration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET=y</span></code></p></td>
<td><p>Of course, networking must be enabled.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_UDP=y</span></code></p></td>
<td><p>UDP support is required for DHCP (as well as various other
UDP-related configuration settings).</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_BROADCAST=y</span></code></p></td>
<td><p>UDP broadcast support is needed.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ETH_PKTSIZE=650</span></code> (or larger)</p></td>
<td><p>Per RFC2131 (p. 9), the DHCP client must be prepared to receive
DHCP messages of up to 576 bytes (excluding Ethernet, IP, or
UDP headers and FCS). NOTE: Note that the actual MTU setting
will depend upon the specific link protocol. Here Ethernet
is indicated.</p></td>
</tr>
</tbody>
</table>
<p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_ETC_ROMFS</span></code> is selected, then the following additional
configuration setting apply:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Configuration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_SYSINITSCRIPT</span></code></p></td>
<td><p>This is the relative path to the system init script within the
mountpoint. The default is <code class="docutils literal notranslate"><span class="pre">&quot;init.d/rc.sysinit&quot;</span></code>. This is a relative
path and must not start with ‘<code class="docutils literal notranslate"><span class="pre">/</span></code>’ but must be enclosed in quotes.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_INITSCRIPT</span></code></p></td>
<td><p>This is the relative path to the startup script within the
mountpoint. The default is <code class="docutils literal notranslate"><span class="pre">&quot;init.d/rcS&quot;</span></code>. This is a relative
path and must not start with ‘<code class="docutils literal notranslate"><span class="pre">/</span></code>’ but must be enclosed in quotes.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="common-problems">
<h2>Common Problems<a class="headerlink" href="#common-problems" title="Permalink to this heading"></a></h2>
<p>Problem:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>The function &#39;readline&#39; is undefined.
</pre></div>
</div>
<p>Usual Cause:</p>
<ul>
<li><p>The following is missing from your <cite>defconfig</cite> file:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>CONFIG_SYSTEM_READLINE=y
</pre></div>
</div>
</li>
</ul>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="commands.html" class="btn btn-neutral float-left" title="Commands" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="customizing.html" class="btn btn-neutral float-right" title="The NSH Library and NSH Initialization" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>