blob: 0a4c014ce4feb10d1021926b3343e49d0beebb43 [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="viewport" content="width=device-width, initial-scale=1.0">
<title>NuttShell (NSH) &mdash; NuttX latest documentation</title>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../_static/sphinx_tabs/semantic-ui-2.4.1/segment.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/sphinx_tabs/semantic-ui-2.4.1/menu.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/sphinx_tabs/tabs.css" type="text/css" />
<link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/language_data.js"></script>
<script type="text/javascript" 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="Overview" href="nsh.html" />
<link rel="prev" title="OS Components" href="../index.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
<img src="../../_static/NuttX.png" class="logo" alt="Logo"/>
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select>
<option value="latest" selected="selected">latest</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" />
<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="main navigation">
<p class="caption"><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="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">OS Components</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">NuttShell (NSH)</a><ul>
<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"><a class="reference internal" href="config.html">Configuration Settings</a></li>
<li class="toctree-l3"><a class="reference internal" href="customizing.html">Customizing the NuttShell</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>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../power.html">Power Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../socketcan.html">SocketCAN Device Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../syslog.html">SYSLOG</a></li>
<li class="toctree-l2"><a class="reference internal" href="../binfmt.html">Binary Loader</a></li>
<li class="toctree-l2"><a class="reference internal" href="../drivers/index.html">Device Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem.html">NuttX File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxflat.html">NXFLAT</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxgraphics/index.html">NX Graphics Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxwidgets.html">NxWidgets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../paging.html">On-Demand Paging</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../boards/index.html">Supported Boards</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="../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../releases/index.html">Releases</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="../../glossary.html">Glossary</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<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="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../index.html">OS Components</a> &raquo;</li>
<li>NuttShell (NSH)</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/components/nsh/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="nuttshell-nsh">
<h1>NuttShell (NSH)<a class="headerlink" href="#nuttshell-nsh" title="Permalink to this headline"></a></h1>
<p>The NuttShell is a very complete shell system to be used in NuttX, similar to bash and other similar options. It supports a rich set of included commands, scripting and the ability to run your own applications as “builtin” (part of the same NuttX binary). NSH is implemented as an application where most of the functionality is part of the library called <cite>nshlib</cite>.</p>
<p>As such, NSH is completely optional and can be disabled so that NuttX directly starts a given task instead of the main <code class="docutils literal notranslate"><span class="pre">nsh</span></code> application.</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="nsh.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#console-nsh-front-end">Console/NSH Front End</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#command-overview">Command Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#conditional-command-execution">Conditional Command Execution</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#looping">Looping</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#built-in-variables">Built-In Variables</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#current-working-directory">Current Working Directory</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#environment-variables">Environment Variables</a></li>
<li class="toctree-l2"><a class="reference internal" href="nsh.html#nsh-start-up-script">NSH Start-Up Script</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="commands.html">Commands</a><ul>
<li class="toctree-l2"><a class="reference internal" href="commands.html#evaluate-expression-test">Evaluate Expression (test)</a></li>
<li class="toctree-l2"><a class="reference internal" href="commands.html#add-a-routing-table-entry-addroute">Add a Routing Table Entry (addroute)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration Settings</a><ul>
<li class="toctree-l2"><a class="reference internal" href="config.html#command-dependencies-on-configuration-settings">Command Dependencies on Configuration Settings</a></li>
<li class="toctree-l2"><a class="reference internal" href="config.html#built-in-command-dependencies-on-configuration-settings">Built-In Command Dependencies on Configuration Settings</a></li>
<li class="toctree-l2"><a class="reference internal" href="config.html#nsh-specific-configuration-settings">NSH-Specific Configuration Settings</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="customizing.html">Customizing the NuttShell</a><ul>
<li class="toctree-l2"><a class="reference internal" href="customizing.html#the-nsh-library-and-nsh-initialization">The NSH Library and NSH Initialization</a></li>
<li class="toctree-l2"><a class="reference internal" href="customizing.html#nsh-commands">NSH Commands</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="builtin.html">NSH “Built-In” Applications</a><ul>
<li class="toctree-l2"><a class="reference internal" href="builtin.html#built-in-applications">Built-In Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="builtin.html#synchronous-built-in-applications">Synchronous Built-In Applications</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Customizing NSH Initialization</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html#nuttshell-start-up-scripts">NuttShell Start up Scripts</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="login.html">Shell Login</a><ul>
<li class="toctree-l2"><a class="reference internal" href="login.html#enabling-shell-logins">Enabling Shell Logins</a></li>
<li class="toctree-l2"><a class="reference internal" href="login.html#verification-of-credentials">Verification of Credentials</a></li>
<li class="toctree-l2"><a class="reference internal" href="login.html#password-files">Password Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="login.html#creating-a-password-file-for-a-romfs-file-system">Creating a Password File for a ROMFS File System</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2020, The Apache Software Foundation
</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>