<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Unix_shell</id>
	<title>Unix shell - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Unix_shell"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;action=history"/>
	<updated>2026-09-10T21:51:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=9672173&amp;oldid=prev</id>
		<title>imported&gt;Neat93867: Maintenance: expanded one citation for readability; added newlines and spaces; alphabetized fields; checked url for correctness; updated \access-date\; added an intra-link to \work\.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=9672173&amp;oldid=prev"/>
		<updated>2026-06-28T17:11:20Z</updated>

		<summary type="html">&lt;p&gt;Maintenance: expanded one citation for readability; added newlines and spaces; alphabetized fields; checked url for correctness; updated \access-date\; added an intra-link to \work\.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:11, 28 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;Unix shell&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; &lt;/del&gt;is a [[shell (computing)|shell]] that provides a [[Command-line_interface#Command-line_interpreter|command-line]] [[user interface]] for a [[Unix-like]] [[operating system]]. A Unix shell provides a [[command language]] that can be used either [[interactively]] or for writing a [[shell script]].&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;title&lt;/del&gt;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The Unix Shell &lt;/del&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;work=&lt;/del&gt;BYTE &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187&lt;/del&gt;}}&amp;lt;/ref&amp;gt; A user typically works within a Unix shell via a [[terminal emulator]]; however, direct access via serial hardware connections or a [[Secure Shell]] are common for server systems. Although use of a Unix shell is popular with some users, others prefer to use a [[graphical shell]] in a [[windowing system]], such as those provided in desktop [[Linux distribution]]s or [[macOS]], instead of a command-line interface (CLI).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Unix shell&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;is a [[shell (computing)|shell]] that provides a [[Command-line_interface#Command-line_interpreter|command-line]] [[user interface]] for a [[Unix-like]] [[operating system]]. A Unix shell provides a [[command language]] that can be used either [[interactively]] or for writing a [[shell script]].&amp;lt;ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{cite news&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| access-date = 28 June 2026&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| author      = Bourne, Stephen R.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| date        = October 1983&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| pages       = 187&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| title       = The Unix Shell&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| url &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        &lt;/ins&gt;= https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;work        &lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Byte (magazine)&lt;/ins&gt;|BYTE&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A user typically works within a Unix shell via a [[terminal emulator]]; however, direct access via serial hardware connections or a [[Secure Shell]] are common for server systems. Although use of a Unix shell is popular with some users, others prefer to use a [[graphical shell]] in a [[windowing system]], such as those provided in desktop [[Linux distribution]]s or [[macOS]], instead of a command-line interface (CLI).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A user may have access to multiple Unix shells with one configured to run by default when the user [[Log in|logs in]] interactively. The [[Default (computer science)|default]] selection is typically stored in a user&#039;s profile&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/del&gt;for example, in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]. A user may use other shells [[Nesting (computing)|nested]] inside the default shell.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A user may have access to multiple Unix shells with one configured to run by default when the user [[Log in|logs in]] interactively. The [[Default (computer science)|default]] selection is typically stored in a user&#039;s profile &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(&lt;/ins&gt;for example, in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;. A user may use other shells [[Nesting (computing)|nested]] inside the default shell.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A Unix shell may provide many features including: [[variable (computer science)|variable]] definition and substitution, [[command substitution]], [[Wildcard character|filename wildcarding]], [[Pipeline (Unix)|stream piping]], [[control flow|control flow structures]] ([[Conditional (programming)|condition-testing]] and [[iteration]]), [[working directory|working directory context]], and [[here document]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A Unix shell may provide many features including: [[variable (computer science)|variable]] definition and substitution, [[command substitution]], [[Wildcard character|filename wildcarding]], [[Pipeline (Unix)|stream piping]], [[control flow|control flow structures]] ([[Conditional (programming)|condition-testing]] and [[iteration]]), [[working directory|working directory context]], and [[here document]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Early shells===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Early shells===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first Unix shell was the [[Thompson shell]], &#039;&#039;sh&#039;&#039;, written by [[Ken Thompson (computer programmer)|Ken Thompson]] at [[Bell Labs]] and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.&amp;lt;ref name=&quot;v6hist&quot;&amp;gt;{{ cite web|url=http://v6shell.org/history/ |title=V6 Thompson Shell Port - History |publisher=V6shell.org |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt; Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt;, and filename [[Glob (programming)|GLOB]]&amp;lt;nowiki/&amp;gt;bing.  Though not in current use, it is still available as part of some [[Ancient UNIX]] systems &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and is the default shell on current &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FreeBSD&lt;/del&gt;]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;systems&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cn|date=November 2025}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first Unix shell was the [[Thompson shell]], &#039;&#039;sh&#039;&#039;, written by [[Ken Thompson (computer programmer)|Ken Thompson]] at [[Bell Labs]] and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.&amp;lt;ref name=&quot;v6hist&quot;&amp;gt;{{ cite web|url=http://v6shell.org/history/ |title=V6 Thompson Shell Port - History |publisher=V6shell.org |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt; Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt;, and filename [[Glob (programming)|GLOB]]&amp;lt;nowiki/&amp;gt;bing.  Though not in current use, it is still available as part of some [[Ancient UNIX]] systems&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, such as &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Version 6 Unix&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It was modeled after the [[Multics]] shell, developed in 1965 by American software engineer [[Glenda Schroeder]]. Schroeder&amp;#039;s Multics shell was itself modeled after the [[RUNCOM]] program [[Louis Pouzin]] showed to the Multics Team. The &amp;quot;rc&amp;quot; suffix on some Unix configuration files (e.g.  &amp;quot;.bashrc&amp;quot; or &amp;quot;.vimrc&amp;quot;), is a remnant of the RUNCOM ancestry of Unix shells.&amp;lt;ref name=&amp;quot;Vleck&amp;quot;&amp;gt;{{ cite web|author=Tom Van Vleck |url=http://www.multicians.org/unix.html |title=Unix and Multics |publisher=Multicians.org |date=1995-02-05 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Pouzin&amp;quot;&amp;gt;{{ cite web|author=Louis Pouzin |url=http://www.multicians.org/shell.html |title=The Origin of the Shell |publisher=Multicians.org |date=2000-11-25 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It was modeled after the [[Multics]] shell, developed in 1965 by American software engineer [[Glenda Schroeder]]. Schroeder&amp;#039;s Multics shell was itself modeled after the [[RUNCOM]] program [[Louis Pouzin]] showed to the Multics Team. The &amp;quot;rc&amp;quot; suffix on some Unix configuration files (e.g.  &amp;quot;.bashrc&amp;quot; or &amp;quot;.vimrc&amp;quot;), is a remnant of the RUNCOM ancestry of Unix shells.&amp;lt;ref name=&amp;quot;Vleck&amp;quot;&amp;gt;{{ cite web|author=Tom Van Vleck |url=http://www.multicians.org/unix.html |title=Unix and Multics |publisher=Multicians.org |date=1995-02-05 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Pouzin&amp;quot;&amp;gt;{{ cite web|author=Louis Pouzin |url=http://www.multicians.org/shell.html |title=The Origin of the Shell |publisher=Multicians.org |date=2000-11-25 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** [[Debian Almquist shell]] (dash): a modern replacement for ash in [[Debian]] and [[Ubuntu (operating system)|Ubuntu]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** [[Debian Almquist shell]] (dash): a modern replacement for ash in [[Debian]] and [[Ubuntu (operating system)|Ubuntu]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash (Unix shell)|Bourne-Again shell]] (bash): written as part of the [[GNU Project]] to provide a superset of Bourne Shell functionality. This shell can be found installed and is the default interactive shell for users on most [[Linux]] systems; it provides both interactive mode (implemented by GNU Readline) or script-mode.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash (Unix shell)|Bourne-Again shell]] (bash): written as part of the [[GNU Project]] to provide a superset of Bourne Shell functionality. This shell can be found installed and is the default interactive shell for users on most [[Linux]] systems; it provides both interactive mode (implemented by GNU Readline) or script-mode.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[KornShell]] (ksh): written by [[David Korn (computer scientist)|David Korn]] based on the Bourne shell sources&amp;lt;ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[KornShell&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Korn shell&lt;/ins&gt;]] (ksh): &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an enhanced version of the Bourne shell, &lt;/ins&gt;written by [[David Korn (computer scientist)|David Korn]] based on the Bourne shell sources&amp;lt;ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{citation&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{citation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title = ksh - An Extensible High Level Language&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title = ksh - An Extensible High Level Language&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Z shell]] (zsh): a relatively modern shell that is partially [[backward compatible]] with [[bash (Unix shell)|bash]]. It&amp;#039;s the default shell in [[Kali Linux]] since 2020.4 and [[macOS]] since 10.15 [[macOS Catalina|Catalina]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Z shell]] (zsh): a relatively modern shell that is partially [[backward compatible]] with [[bash (Unix shell)|bash]]. It&amp;#039;s the default shell in [[Kali Linux]] since 2020.4 and [[macOS]] since 10.15 [[macOS Catalina|Catalina]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[POSIX]] standard specifies its standard shell as a strict subset of the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[KornShell|&lt;/del&gt;Korn &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;shell]], an enhanced version of the Bourne &lt;/del&gt;shell. From a user&#039;s perspective the Bourne shell was immediately recognized when active by its characteristic default command line prompt character, the dollar sign ({{mono|$}}).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[POSIX]] standard specifies its standard shell as a strict subset of the Korn shell. From a user&#039;s perspective the Bourne shell was immediately recognized when active by its characteristic default command line prompt character, the dollar sign ({{mono|$}}).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C shell===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C shell===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Neat93867</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=4328750&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot: Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=4328750&amp;oldid=prev"/>
		<updated>2025-12-29T22:11:31Z</updated>

		<summary type="html">&lt;p&gt;Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:11, 29 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/del&gt;Unix shell&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/del&gt;is a [[shell (computing)|shell]] that provides a [[Command-line_interface#Command-line_interpreter|command-line]] [[user interface]] for a [[Unix-like]] [[operating system]]. A Unix shell provides a [[command language]] that can be used either [[interactively]] or for writing a [[shell script]].&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | title=The Unix Shell | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187}}&amp;lt;/ref&amp;gt; A user typically works within a Unix shell via a [[terminal emulator]]; however, direct access via serial hardware connections or a [[Secure Shell]] are common for server systems. Although use of a Unix shell is popular with some users, others prefer to use a [[graphical shell]] in a [[windowing system]], such as those provided in desktop [[Linux distribution]]s or [[macOS]], instead of a command-line interface (CLI).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;Unix shell&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; &lt;/ins&gt;is a [[shell (computing)|shell]] that provides a [[Command-line_interface#Command-line_interpreter|command-line]] [[user interface]] for a [[Unix-like]] [[operating system]]. A Unix shell provides a [[command language]] that can be used either [[interactively]] or for writing a [[shell script]].&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | title=The Unix Shell | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187}}&amp;lt;/ref&amp;gt; A user typically works within a Unix shell via a [[terminal emulator]]; however, direct access via serial hardware connections or a [[Secure Shell]] are common for server systems. Although use of a Unix shell is popular with some users, others prefer to use a [[graphical shell]] in a [[windowing system]], such as those provided in desktop [[Linux distribution]]s or [[macOS]], instead of a command-line interface (CLI).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A user may have access to multiple Unix shells with one configured to run by default when the user [[Log in|logs in]] interactively. The [[Default (computer science)|default]] selection is typically stored in a user&amp;#039;s profile; for example, in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]. A user may use other shells [[Nesting (computing)|nested]] inside the default shell.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A user may have access to multiple Unix shells with one configured to run by default when the user [[Log in|logs in]] interactively. The [[Default (computer science)|default]] selection is typically stored in a user&amp;#039;s profile; for example, in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]. A user may use other shells [[Nesting (computing)|nested]] inside the default shell.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Bourne shell===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Bourne shell===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[Bourne shell]], &#039;&#039;sh&#039;&#039;, was a new Unix shell by [[Stephen R. Bourne|Stephen Bourne]] at Bell Labs.&amp;lt;ref&amp;gt;{{cite interview|url=https://www2.computerworld.com.au/article/279011/a-z_programming_languages_bourne_shell_sh/|title=The A-Z of Programming Languages: Bourne shell, or sh|first=Stephen|last=Bourne|subject-link=Stephen R. Bourne|interviewer=Howard Dahdah|date=2009-03-05|publisher=[[Computerworld]]|access-date=2022-08-16}}&amp;lt;/ref&amp;gt; Distributed as the shell for UNIX Version 7 in 1979, it introduced the rest of the basic features considered common to all the later Unix shells, including [[here document]]s, [[command substitution]], more generic [[Variable (programming)|variables]] and more extensive builtin [[control flow|control structures]].  The language, including the use of a reversed keyword to mark the end of a block, was influenced by [[ALGOL 68]].&amp;lt;ref&amp;gt;{{cite web|url=http://groups.google.com/group/comp.lang.misc/msg/d58db4799c33e093?hl=en&amp;amp;dmode=source|title=&#039;&#039;Re: Late Bloomers Revisited&#039;&#039;|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;  Traditionally, the Bourne shell program name is {{mono|sh}} and its path in the Unix file system hierarchy is {{mono|/bin/sh}}.  But a number of compatible work-alikes are also available with various improvements and additional features.  On many systems, sh may be a [[symbolic link]] or [[hard link]] to one of these alternatives:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[Bourne shell]], &#039;&#039;sh&#039;&#039;, was a new Unix shell by [[Stephen R. Bourne|Stephen Bourne]] at Bell Labs.&amp;lt;ref&amp;gt;{{cite interview|url=https://www2.computerworld.com.au/article/279011/a-z_programming_languages_bourne_shell_sh/|title=The A-Z of Programming Languages: Bourne shell, or sh|first=Stephen|last=Bourne|subject-link=Stephen R. Bourne|interviewer=Howard Dahdah|date=2009-03-05|publisher=[[Computerworld]]|access-date=2022-08-16&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|archive-date=2022-08-16|archive-url=https://web.archive.org/web/20220816190150/https://www2.computerworld.com.au/article/279011/a-z_programming_languages_bourne_shell_sh/|url-status=dead&lt;/ins&gt;}}&amp;lt;/ref&amp;gt; Distributed as the shell for UNIX Version 7 in 1979, it introduced the rest of the basic features considered common to all the later Unix shells, including [[here document]]s, [[command substitution]], more generic [[Variable (programming)|variables]] and more extensive builtin [[control flow|control structures]].  The language, including the use of a reversed keyword to mark the end of a block, was influenced by [[ALGOL 68]].&amp;lt;ref&amp;gt;{{cite web|url=http://groups.google.com/group/comp.lang.misc/msg/d58db4799c33e093?hl=en&amp;amp;dmode=source|title=&#039;&#039;Re: Late Bloomers Revisited&#039;&#039;|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;  Traditionally, the Bourne shell program name is {{mono|sh}} and its path in the Unix file system hierarchy is {{mono|/bin/sh}}.  But a number of compatible work-alikes are also available with various improvements and additional features.  On many systems, sh may be a [[symbolic link]] or [[hard link]] to one of these alternatives:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Almquist shell]] (ash): written as a BSD-licensed replacement for the Bourne Shell; often used in resource-constrained environments. The sh of [[FreeBSD]], [[NetBSD]] (and their derivatives) are based on ash that has been enhanced to be [[POSIX]] conformant.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Almquist shell]] (ash): written as a BSD-licensed replacement for the Bourne Shell; often used in resource-constrained environments. The sh of [[FreeBSD]], [[NetBSD]] (and their derivatives) are based on ash that has been enhanced to be [[POSIX]] conformant.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=3148473&amp;oldid=prev</id>
		<title>imported&gt;Cedar101: add /* History */</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=3148473&amp;oldid=prev"/>
		<updated>2025-11-06T00:53:44Z</updated>

		<summary type="html">&lt;p&gt;add &lt;span class=&quot;autocomment&quot;&gt;History&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:53, 6 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &#039;&#039;&#039;Unix shell&#039;&#039;&#039; is a [[Command-line_interface#Command-line_interpreter|command-line &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interpreter]] or [[shell (computing)|shell&lt;/del&gt;]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that provides a command line &lt;/del&gt;[[user interface]] for [[Unix-like]] [[operating system]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;s&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; The &lt;/del&gt;shell &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is both an interactive &lt;/del&gt;[[command language]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and a &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;scripting language&lt;/del&gt;]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and is used by the operating system to control the execution of the system using &lt;/del&gt;[[shell script]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;s&lt;/del&gt;.&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | title=The Unix Shell | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &#039;&#039;&#039;Unix shell&#039;&#039;&#039; is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a [[shell (computing)|shell]] that provides &lt;/ins&gt;a [[Command-line_interface#Command-line_interpreter|command-line]] [[user interface]] for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/ins&gt;[[Unix-like]] [[operating system]]. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A Unix &lt;/ins&gt;shell &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;provides a &lt;/ins&gt;[[command language]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that can be used either &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interactively&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or for writing a &lt;/ins&gt;[[shell script]].&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | title=The Unix Shell | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187}}&amp;lt;/ref&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A user typically works within a Unix shell via a [[terminal emulator]]; however, direct access via serial hardware connections or a [[Secure Shell]] are common for server systems. Although use of a Unix shell is popular with some users, others prefer to use a [[graphical shell]] in a [[windowing system]], such as those provided in desktop [[Linux distribution]]s or [[macOS]], instead of a command-line interface (CLI).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Users typically interact with a Unix shell using a [[terminal emulator]]; however, direct operation via serial hardware connections or [[Secure Shell]] are common for server systems.  All &lt;/del&gt;Unix shells &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;provide filename &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Wildcard character&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wildcarding&lt;/del&gt;]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pipeline &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Unix&lt;/del&gt;)|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;piping]], [[here document&lt;/del&gt;]]s, [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;command substitution&lt;/del&gt;]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Variable (programming)&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;variables&lt;/del&gt;]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;control flow&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;control structures&lt;/del&gt;]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Conditional &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;programming&lt;/del&gt;)|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;condition-testing]] and [[iteration&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A user may have access to multiple &lt;/ins&gt;Unix shells &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with one configured to run by default when the user &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Log in&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;logs in&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interactively. The &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Default &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;computer science&lt;/ins&gt;)|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;default&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;selection is typically stored in a user&#039;&lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;profile; for example&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in the local {{mono|&lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Passwd (file)|passwd&lt;/ins&gt;]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}} file or in a distributed configuration system such as &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Network Information Service&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NIS&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lightweight Directory Access Protocol&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;LDAP&lt;/ins&gt;]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. A user may use other shells &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nesting &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;computing&lt;/ins&gt;)|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nested&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;inside the default shell&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Concept==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Unix &lt;/ins&gt;shell &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;may provide many features including: &lt;/ins&gt;[[variable &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(computer science)|variable]] definition and substitution, [[command substitution]], [[Wildcard character|filename wildcarding]], [[Pipeline (Unix)|stream piping]], [[control flow&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;control flow structures]] ([[Conditional (programming)|condition-testing]] and [[iteration&lt;/ins&gt;]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[working directory|working directory context]]&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and [[here document]]&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Generally, a &#039;&#039;shell&#039;&#039; is a program that executes other programs in response to text commands. &lt;/del&gt;A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sophisticated &lt;/del&gt;shell &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can also change the environment in which other programs execute by passing &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;environment &lt;/del&gt;variable|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;named variables&lt;/del&gt;]], &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a parameter list&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or an input source&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In Unix-like operating systems, users typically have many choices of command-line interpreters for interactive sessions. When a user [[Log in|logs into]] the system interactively, a shell program is automatically executed for the duration of the session. The type of shell, which may be customized for each user, is typically stored in the user&#039;s profile, for example in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]; however, the user may execute any other available shell interactively.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==History==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;On operating systems with a [[windowing system]], such as [[macOS]] and desktop [[Linux distribution]]s, some users may never use the shell directly. On Unix systems, the shell has historically been the implementation language of system startup scripts, including the program that starts a windowing system, configures networking, and many other essential functions.  However, some system vendors have replaced the traditional shell-based startup system ([[init]]) with different approaches, such as [[systemd]].&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Early shells===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Early shells==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first Unix shell was the [[Thompson shell]], &#039;&#039;sh&#039;&#039;, written by [[Ken Thompson (computer programmer)|Ken Thompson]] at [[Bell Labs]] and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.&amp;lt;ref name=&quot;v6hist&quot;&amp;gt;{{ cite web|url=http://v6shell.org/history/ |title=V6 Thompson Shell Port - History |publisher=V6shell.org |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt; Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt;, and filename &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Glob (programming)|GLOB]]&amp;lt;nowiki/&amp;gt;bing&lt;/ins&gt;.  Though not in current use, it is still available as part of some [[Ancient UNIX&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] systems and is the default shell on current [[FreeBSD&lt;/ins&gt;]] systems.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cn|date=November 2025}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first Unix shell was the [[Thompson shell]], &#039;&#039;sh&#039;&#039;, written by [[Ken Thompson (computer programmer)|Ken Thompson]] at [[Bell Labs]] and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.&amp;lt;ref name=&quot;v6hist&quot;&amp;gt;{{ cite web|url=http://v6shell.org/history/ |title=V6 Thompson Shell Port - History |publisher=V6shell.org |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt; Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt;, and filename &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wildcarding&lt;/del&gt;.  Though not in current use, it is still available as part of some [[Ancient UNIX]] systems.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It was modeled after the [[Multics]] shell, developed in 1965 by American software engineer [[Glenda Schroeder]]. Schroeder&amp;#039;s Multics shell was itself modeled after the [[RUNCOM]] program [[Louis Pouzin]] showed to the Multics Team. The &amp;quot;rc&amp;quot; suffix on some Unix configuration files (e.g.  &amp;quot;.bashrc&amp;quot; or &amp;quot;.vimrc&amp;quot;), is a remnant of the RUNCOM ancestry of Unix shells.&amp;lt;ref name=&amp;quot;Vleck&amp;quot;&amp;gt;{{ cite web|author=Tom Van Vleck |url=http://www.multicians.org/unix.html |title=Unix and Multics |publisher=Multicians.org |date=1995-02-05 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Pouzin&amp;quot;&amp;gt;{{ cite web|author=Louis Pouzin |url=http://www.multicians.org/shell.html |title=The Origin of the Shell |publisher=Multicians.org |date=2000-11-25 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It was modeled after the [[Multics]] shell, developed in 1965 by American software engineer [[Glenda Schroeder]]. Schroeder&amp;#039;s Multics shell was itself modeled after the [[RUNCOM]] program [[Louis Pouzin]] showed to the Multics Team. The &amp;quot;rc&amp;quot; suffix on some Unix configuration files (e.g.  &amp;quot;.bashrc&amp;quot; or &amp;quot;.vimrc&amp;quot;), is a remnant of the RUNCOM ancestry of Unix shells.&amp;lt;ref name=&amp;quot;Vleck&amp;quot;&amp;gt;{{ cite web|author=Tom Van Vleck |url=http://www.multicians.org/unix.html |title=Unix and Multics |publisher=Multicians.org |date=1995-02-05 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Pouzin&amp;quot;&amp;gt;{{ cite web|author=Louis Pouzin |url=http://www.multicians.org/shell.html |title=The Origin of the Shell |publisher=Multicians.org |date=2000-11-25 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C shell===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===C shell===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[C shell]], &#039;&#039;csh&#039;&#039;, was modeled on the C programming language, including the control structures and the expression grammar. It was written by [[Bill Joy]] as a graduate student at [[University of California, Berkeley]], and was widely distributed with [[Berkeley Software Distribution|BSD Unix]].&amp;lt;ref&amp;gt;Harley Hahn&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, [&lt;/del&gt;https://www.harley.com/unix-book/book/chapters/h.html Harley Hahn&#039;s Guide to Unix and Linux&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/del&gt;Unix/Linux Timeline&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;].&lt;/del&gt;&amp;lt;/ref&amp;gt;{{better source|date=September 2023}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [[C shell]], &#039;&#039;csh&#039;&#039;, was modeled on the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;C programming language&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;, including the control structures and the expression grammar. It was written by [[Bill Joy]] as a graduate student at [[University of California, Berkeley]], and was widely distributed with [[Berkeley Software Distribution|BSD Unix]].&amp;lt;ref&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cite book |author=&lt;/ins&gt;Harley Hahn &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|chapter-url=&lt;/ins&gt;https://www.harley.com/unix-book/book/chapters/h.html &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|title=&lt;/ins&gt;Harley Hahn&#039;s Guide to Unix and Linux &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|chapter=&lt;/ins&gt;Unix/Linux Timeline&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&amp;lt;/ref&amp;gt;{{better source|date=September 2023}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The C shell also introduced many features for interactive work, including the [[C shell#History|history]] and [[C shell#Editing operators|editing]] mechanisms, [[C shell#Aliases|aliases]], [[C shell#Directory stack|directory stacks]], [[C shell#Tilde notation|tilde notation]], [[C shell#Cdpath|cdpath]], [[C shell#Job control|job control]] and [[C shell#Path hashing|path hashing]].  On many systems, csh may be a [[symbolic link]] or [[hard link]] to [[TENEX C shell]] (tcsh), an improved version of Joy&amp;#039;s original version.  Although the interactive features of csh have been copied to most other shells, the language structure has not been widely copied.  The only work-alike is [[Hamilton C shell]], written by Nicole Hamilton, first distributed on [[OS/2]] in 1988 and on [[Windows]] since 1992.&amp;lt;ref&amp;gt;{{cite web|url=http://hamiltonlabs.com/ReleaseNotes.htm|title=Hamilton C shell for Windows Release Notes 4.0|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The C shell also introduced many features for interactive work, including the [[C shell#History|history]] and [[C shell#Editing operators|editing]] mechanisms, [[C shell#Aliases|aliases]], [[C shell#Directory stack|directory stacks]], [[C shell#Tilde notation|tilde notation]], [[C shell#Cdpath|cdpath]], [[C shell#Job control|job control]] and [[C shell#Path hashing|path hashing]].  On many systems, csh may be a [[symbolic link]] or [[hard link]] to [[TENEX C shell]] (tcsh), an improved version of Joy&amp;#039;s original version.  Although the interactive features of csh have been copied to most other shells, the language structure has not been widely copied.  The only work-alike is [[Hamilton C shell]], written by Nicole Hamilton, first distributed on [[OS/2]] in 1988 and on [[Windows]] since 1992.&amp;lt;ref&amp;gt;{{cite web|url=http://hamiltonlabs.com/ReleaseNotes.htm|title=Hamilton C shell for Windows Release Notes 4.0|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l121&quot;&gt;Line 121:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 119:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|style=&quot;text-align:left;&quot;|{{mono|$ENV}} (typically {{mono|~/.kshrc}})&amp;lt;ref&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SCO Unix Group, [http&lt;/del&gt;://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unix&lt;/del&gt;.harley.com/instructors/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;timeline&lt;/del&gt;.html &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SCO Unixware 7 documentation, 22 Apr 2004, retrieved 18 Oct 2012]&lt;/del&gt;.&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|style=&quot;text-align:left;&quot;|{{mono|$ENV}} (typically {{mono|~/.kshrc}})&amp;lt;ref&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cite book |author=Harley Hahn |chapter-url=https&lt;/ins&gt;://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;www&lt;/ins&gt;.harley.com&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/unix-book&lt;/ins&gt;/instructors/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;exercises/14-exercises&lt;/ins&gt;.html &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|title=Harley Hahn&#039;s Guide to Unix and Linux |chapter=Exercises and Answers for Chapter 14..&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Using The Shell: Initialization Files}}&lt;/ins&gt;&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|int.{{Efn|Available on systems that support the &amp;quot;User Portability Utilities option&amp;quot;; value of the variable must be an &amp;#039;&amp;#039;absolute&amp;#039;&amp;#039; path, and it is ignored &amp;quot;if the user&amp;#039;s real and effective user IDs or real and effective group IDs are different.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_03|title=Shell Command Language|work=opengroup.org|access-date=15 June 2015}}&amp;lt;/ref&amp;gt;}}{{Efn|{{mono|$ENV}} is {{mono|$HOME/.shrc}} in newer versions of the Bourne Shell}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|int.{{Efn|Available on systems that support the &amp;quot;User Portability Utilities option&amp;quot;; value of the variable must be an &amp;#039;&amp;#039;absolute&amp;#039;&amp;#039; path, and it is ignored &amp;quot;if the user&amp;#039;s real and effective user IDs or real and effective group IDs are different.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_03|title=Shell Command Language|work=opengroup.org|access-date=15 June 2015}}&amp;lt;/ref&amp;gt;}}{{Efn|{{mono|$ENV}} is {{mono|$HOME/.shrc}} in newer versions of the Bourne Shell}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|int.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|int.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l287&quot;&gt;Line 287:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 285:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[es (Unix shell)|es]] – A [[functional programming]] rc-compatible shell written in the mid-1990s.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[es (Unix shell)|es]] – A [[functional programming]] rc-compatible shell written in the mid-1990s.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Friendly interactive shell]] (fish) – First released in 2005.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Friendly interactive shell]] (fish) – First released in 2005.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[PowerShell]] – An [[object-oriented]] shell developed originally for Windows OS and now available to macOS and Linux.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[PowerShell]] – An [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Object-oriented programming|&lt;/ins&gt;object-oriented]] shell developed originally for Windows OS and now available to macOS and Linux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Qshell]] – A shell on the [[IBM i]] operating system based on [[POSIX]] and [[X/Open]] standards.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Qshell]] – A shell on the [[IBM i]] operating system based on [[POSIX]] and [[X/Open]] standards.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[rc shell|rc]] – The default shell on [[Plan 9 from Bell Labs]] and [[Version 10 Unix]] written by [[Tom Duff]]. Ports have been made to various [[Unix-like]] operating systems.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[rc shell|rc]] – The default shell on [[Plan 9 from Bell Labs]] and [[Version 10 Unix]] written by [[Tom Duff]]. Ports have been made to various [[Unix-like]] operating systems.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l295&quot;&gt;Line 295:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 293:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Columns-list|&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Columns-list|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Comparison of command shells&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Comparison of command shells&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;List of POSIX commands&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;List of POSIX commands&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Read–eval–print loop&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Read–eval–print loop&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Restricted shell&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Restricted shell&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Shell (computing)]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Shell account&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[&lt;/del&gt;Shell account&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Shell script&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Shell script&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Annotated link|&lt;/ins&gt;Shell shoveling&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Shell shoveling&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Cedar101</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=627849&amp;oldid=prev</id>
		<title>imported&gt;Driftingdrifting: Reverted good faith edits by 200.201.116.184 (talk)</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=627849&amp;oldid=prev"/>
		<updated>2025-06-10T14:20:55Z</updated>

		<summary type="html">&lt;p&gt;Reverted &lt;a href=&quot;/wiki143/index.php?title=WP:AGF&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:AGF (page does not exist)&quot;&gt;good faith&lt;/a&gt; edits by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/200.201.116.184&quot; title=&quot;Special:Contributions/200.201.116.184&quot;&gt;200.201.116.184&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:200.201.116.184&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:200.201.116.184 (page does not exist)&quot;&gt;talk&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:20, 10 June 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Driftingdrifting</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=21002&amp;oldid=prev</id>
		<title>imported&gt;Guy Harris: /* Early shells */ Why not just a &quot; character?</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Unix_shell&amp;diff=21002&amp;oldid=prev"/>
		<updated>2025-05-22T10:24:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Early shells: &lt;/span&gt; Why not just a &amp;quot; character?&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Command-line interpreter for Unix operating system}}&lt;br /&gt;
[[File:Tcsh ejecutándose en escritorio Mac OSX.png|thumb|300px|right|tcsh and sh shell windows on a [[Mac OS X Leopard]]&amp;lt;ref name=&amp;quot;Vleck&amp;quot; /&amp;gt; desktop]]&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;Unix shell&amp;#039;&amp;#039;&amp;#039; is a [[Command-line_interface#Command-line_interpreter|command-line interpreter]] or [[shell (computing)|shell]] that provides a command line [[user interface]] for [[Unix-like]] [[operating system]]s.  The shell is both an interactive [[command language]] and a [[scripting language]], and is used by the operating system to control the execution of the system using [[shell script]]s.&amp;lt;ref&amp;gt;{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n187/mode/2up | title=The Unix Shell | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Bourne, Stephen R. | pages=187}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users typically interact with a Unix shell using a [[terminal emulator]]; however, direct operation via serial hardware connections or [[Secure Shell]] are common for server systems.  All Unix shells provide filename [[Wildcard character|wildcarding]], [[Pipeline (Unix)|piping]], [[here document]]s, [[command substitution]], [[Variable (programming)|variables]] and [[control flow|control structures]] for [[Conditional (programming)|condition-testing]] and [[iteration]].&lt;br /&gt;
&lt;br /&gt;
==Concept==&lt;br /&gt;
Generally, a &amp;#039;&amp;#039;shell&amp;#039;&amp;#039; is a program that executes other programs in response to text commands. A sophisticated shell can also change the environment in which other programs execute by passing [[environment variable|named variables]], a parameter list, or an input source.&lt;br /&gt;
&lt;br /&gt;
In Unix-like operating systems, users typically have many choices of command-line interpreters for interactive sessions. When a user [[Log in|logs into]] the system interactively, a shell program is automatically executed for the duration of the session. The type of shell, which may be customized for each user, is typically stored in the user&amp;#039;s profile, for example in the local {{mono|[[Passwd (file)|passwd]]}} file or in a distributed configuration system such as [[Network Information Service|NIS]] or [[Lightweight Directory Access Protocol|LDAP]]; however, the user may execute any other available shell interactively.&lt;br /&gt;
&lt;br /&gt;
On operating systems with a [[windowing system]], such as [[macOS]] and desktop [[Linux distribution]]s, some users may never use the shell directly. On Unix systems, the shell has historically been the implementation language of system startup scripts, including the program that starts a windowing system, configures networking, and many other essential functions.  However, some system vendors have replaced the traditional shell-based startup system ([[init]]) with different approaches, such as [[systemd]].&lt;br /&gt;
&lt;br /&gt;
==Early shells==&lt;br /&gt;
The first Unix shell was the [[Thompson shell]], &amp;#039;&amp;#039;sh&amp;#039;&amp;#039;, written by [[Ken Thompson (computer programmer)|Ken Thompson]] at [[Bell Labs]] and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.&amp;lt;ref name=&amp;quot;v6hist&amp;quot;&amp;gt;{{ cite web|url=http://v6shell.org/history/ |title=V6 Thompson Shell Port - History |publisher=V6shell.org |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt; Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt;, and filename wildcarding.  Though not in current use, it is still available as part of some [[Ancient UNIX]] systems.&lt;br /&gt;
&lt;br /&gt;
It was modeled after the [[Multics]] shell, developed in 1965 by American software engineer [[Glenda Schroeder]]. Schroeder&amp;#039;s Multics shell was itself modeled after the [[RUNCOM]] program [[Louis Pouzin]] showed to the Multics Team. The &amp;quot;rc&amp;quot; suffix on some Unix configuration files (e.g.  &amp;quot;.bashrc&amp;quot; or &amp;quot;.vimrc&amp;quot;), is a remnant of the RUNCOM ancestry of Unix shells.&amp;lt;ref name=&amp;quot;Vleck&amp;quot;&amp;gt;{{ cite web|author=Tom Van Vleck |url=http://www.multicians.org/unix.html |title=Unix and Multics |publisher=Multicians.org |date=1995-02-05 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Pouzin&amp;quot;&amp;gt;{{ cite web|author=Louis Pouzin |url=http://www.multicians.org/shell.html |title=The Origin of the Shell |publisher=Multicians.org |date=2000-11-25 |access-date=2012-08-14 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[PWB shell]] or Mashey shell, &amp;#039;&amp;#039;sh&amp;#039;&amp;#039;, was an upward-compatible version of the Thompson shell, augmented by [[John Mashey]] and others and distributed with the [[PWB/UNIX|Programmer&amp;#039;s Workbench UNIX]], circa 1975–1977. It focused on making shell programming practical, especially in large shared computing centers. It added shell variables (precursors of [[environment variable]]s, including the search path mechanism that evolved into $PATH), user-executable shell scripts, and interrupt-handling.  Control structures were extended from if/goto to if/then/else/endif, switch/breaksw/endsw, and while/end/break/continue.  As shell programming became widespread, these external commands were incorporated into the shell itself for performance.&lt;br /&gt;
&lt;br /&gt;
But the most widely distributed and influential of the early Unix shells were the [[Bourne shell]] and the [[C shell]]. Both shells have been used as the coding base and model for many derivative and work-alike shells with extended feature sets.&amp;lt;ref&amp;gt;{{cite web|url=http://www.softpanorama.org/People/Shell_giants/introduction.shtml|title=Introduction to the Unix shell history|author=Nikolai Bezroukov|author-link=Nikolai Bezroukov|publisher=Softpanorama|date=2015-08-13|access-date=2016-08-21|archive-url=https://web.archive.org/web/20220608181527/http://www.softpanorama.org/People/Shell_giants/introduction.shtml|archive-date=2022-06-08|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bourne shell===&lt;br /&gt;
The [[Bourne shell]], &amp;#039;&amp;#039;sh&amp;#039;&amp;#039;, was a new Unix shell by [[Stephen R. Bourne|Stephen Bourne]] at Bell Labs.&amp;lt;ref&amp;gt;{{cite interview|url=https://www2.computerworld.com.au/article/279011/a-z_programming_languages_bourne_shell_sh/|title=The A-Z of Programming Languages: Bourne shell, or sh|first=Stephen|last=Bourne|subject-link=Stephen R. Bourne|interviewer=Howard Dahdah|date=2009-03-05|publisher=[[Computerworld]]|access-date=2022-08-16}}&amp;lt;/ref&amp;gt; Distributed as the shell for UNIX Version 7 in 1979, it introduced the rest of the basic features considered common to all the later Unix shells, including [[here document]]s, [[command substitution]], more generic [[Variable (programming)|variables]] and more extensive builtin [[control flow|control structures]].  The language, including the use of a reversed keyword to mark the end of a block, was influenced by [[ALGOL 68]].&amp;lt;ref&amp;gt;{{cite web|url=http://groups.google.com/group/comp.lang.misc/msg/d58db4799c33e093?hl=en&amp;amp;dmode=source|title=&amp;#039;&amp;#039;Re: Late Bloomers Revisited&amp;#039;&amp;#039;|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;  Traditionally, the Bourne shell program name is {{mono|sh}} and its path in the Unix file system hierarchy is {{mono|/bin/sh}}.  But a number of compatible work-alikes are also available with various improvements and additional features.  On many systems, sh may be a [[symbolic link]] or [[hard link]] to one of these alternatives:&lt;br /&gt;
&lt;br /&gt;
* [[Almquist shell]] (ash): written as a BSD-licensed replacement for the Bourne Shell; often used in resource-constrained environments. The sh of [[FreeBSD]], [[NetBSD]] (and their derivatives) are based on ash that has been enhanced to be [[POSIX]] conformant.&lt;br /&gt;
** [[Busybox]]: a set of Unix utilities for small and embedded systems, which includes 2 shells: ash, a derivative of the Almquist shell; and hush, an independent implementation of a Bourne shell.&lt;br /&gt;
** [[Debian Almquist shell]] (dash): a modern replacement for ash in [[Debian]] and [[Ubuntu (operating system)|Ubuntu]]&lt;br /&gt;
* [[Bash (Unix shell)|Bourne-Again shell]] (bash): written as part of the [[GNU Project]] to provide a superset of Bourne Shell functionality. This shell can be found installed and is the default interactive shell for users on most [[Linux]] systems; it provides both interactive mode (implemented by GNU Readline) or script-mode.&lt;br /&gt;
* [[KornShell]] (ksh): written by [[David Korn (computer scientist)|David Korn]] based on the Bourne shell sources&amp;lt;ref&amp;gt;&lt;br /&gt;
{{citation&lt;br /&gt;
| title = ksh - An Extensible High Level Language&lt;br /&gt;
| last = Korn&lt;br /&gt;
| first = David G.&lt;br /&gt;
| publisher = USENIX Association&lt;br /&gt;
| journal = Proceedings of the USENIX 1994 Very High Level Languages Symposium&lt;br /&gt;
| date = October 26, 1994&lt;br /&gt;
| url = https://www.usenix.org/legacy/publications/library/proceedings/vhll/full_papers/korn.ksh.a&lt;br /&gt;
| quote = Instead of inventing a new script language, we built a form entry system by modifying the Bourne shell, adding built-in commands as necessary.&lt;br /&gt;
| access-date = February 5, 2015&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; while working at [[Bell Labs]]&lt;br /&gt;
* [[pdksh|Public domain Korn shell]] (pdksh)&lt;br /&gt;
** [[mksh|MirBSD Korn shell]] (mksh): a descendant of the [[OpenBSD]] /bin/ksh and pdksh, developed as part of [[MirOS BSD]]&lt;br /&gt;
* [[Z shell]] (zsh): a relatively modern shell that is partially [[backward compatible]] with [[bash (Unix shell)|bash]]. It&amp;#039;s the default shell in [[Kali Linux]] since 2020.4 and [[macOS]] since 10.15 [[macOS Catalina|Catalina]].&lt;br /&gt;
&lt;br /&gt;
The [[POSIX]] standard specifies its standard shell as a strict subset of the [[KornShell|Korn shell]], an enhanced version of the Bourne shell. From a user&amp;#039;s perspective the Bourne shell was immediately recognized when active by its characteristic default command line prompt character, the dollar sign ({{mono|$}}).&lt;br /&gt;
&lt;br /&gt;
===C shell===&lt;br /&gt;
The [[C shell]], &amp;#039;&amp;#039;csh&amp;#039;&amp;#039;, was modeled on the C programming language, including the control structures and the expression grammar. It was written by [[Bill Joy]] as a graduate student at [[University of California, Berkeley]], and was widely distributed with [[Berkeley Software Distribution|BSD Unix]].&amp;lt;ref&amp;gt;Harley Hahn, [https://www.harley.com/unix-book/book/chapters/h.html Harley Hahn&amp;#039;s Guide to Unix and Linux: Unix/Linux Timeline].&amp;lt;/ref&amp;gt;{{better source|date=September 2023}}&lt;br /&gt;
&lt;br /&gt;
The C shell also introduced many features for interactive work, including the [[C shell#History|history]] and [[C shell#Editing operators|editing]] mechanisms, [[C shell#Aliases|aliases]], [[C shell#Directory stack|directory stacks]], [[C shell#Tilde notation|tilde notation]], [[C shell#Cdpath|cdpath]], [[C shell#Job control|job control]] and [[C shell#Path hashing|path hashing]].  On many systems, csh may be a [[symbolic link]] or [[hard link]] to [[TENEX C shell]] (tcsh), an improved version of Joy&amp;#039;s original version.  Although the interactive features of csh have been copied to most other shells, the language structure has not been widely copied.  The only work-alike is [[Hamilton C shell]], written by Nicole Hamilton, first distributed on [[OS/2]] in 1988 and on [[Windows]] since 1992.&amp;lt;ref&amp;gt;{{cite web|url=http://hamiltonlabs.com/ReleaseNotes.htm|title=Hamilton C shell for Windows Release Notes 4.0|access-date=20 September 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration files==&lt;br /&gt;
Shells read configuration files in various circumstances. These files usually contain commands for the shell and are executed when loaded; they are usually used to set important variables used to find executables, like [[$PATH]], and others that control the behavior and appearance of the shell. The table in this section shows the configuration files for popular shells.&amp;lt;ref&amp;gt;{{cite web|url=http://www.unixnote.com/2010/05/different-unix-shell.html|title=Different UNIX Shells|publisher=unixnote.com|date=2010|access-date=2016-08-21|archive-url=https://web.archive.org/web/20160403120601/http://www.unixnote.com/2010/05/different-unix-shell.html|archive-date=2016-04-03|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable floatleft sortable&amp;quot; style=&amp;quot;text-align: center; margin-right: 2em;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Configuration file&lt;br /&gt;
![[Bourne shell|sh]]&lt;br /&gt;
![[KornShell|ksh]]&lt;br /&gt;
![[C shell|csh]]&lt;br /&gt;
![[tcsh]]&lt;br /&gt;
![[Bash (Unix shell)|bash]]&lt;br /&gt;
![[Z shell|zsh]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/.login}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/csh.cshrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|yes&lt;br /&gt;
|yes&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/csh.login}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.tcshrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|yes&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.cshrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|yes&lt;br /&gt;
|yes{{Efn|only if {{mono|~/.tcshrc}} not found}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/ksh.kshrc}}&lt;br /&gt;
|&lt;br /&gt;
|int.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/sh.shrc}}&lt;br /&gt;
|int.{{Efn|Newer versions of the Bourne Shell only}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|$ENV}} (typically {{mono|~/.kshrc}})&amp;lt;ref&amp;gt;SCO Unix Group, [http://unix.harley.com/instructors/timeline.html SCO Unixware 7 documentation, 22 Apr 2004, retrieved 18 Oct 2012].&amp;lt;/ref&amp;gt;&lt;br /&gt;
|int.{{Efn|Available on systems that support the &amp;quot;User Portability Utilities option&amp;quot;; value of the variable must be an &amp;#039;&amp;#039;absolute&amp;#039;&amp;#039; path, and it is ignored &amp;quot;if the user&amp;#039;s real and effective user IDs or real and effective group IDs are different.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_03|title=Shell Command Language|work=opengroup.org|access-date=15 June 2015}}&amp;lt;/ref&amp;gt;}}{{Efn|{{mono|$ENV}} is {{mono|$HOME/.shrc}} in newer versions of the Bourne Shell}}&lt;br /&gt;
|int.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|int.{{Efn|Same behavior as {{mono|sh}}, but only if invoked as {{mono|sh}} (bash 2+) or, since bash 4.2, also if invoked &amp;#039;&amp;#039;explicitly&amp;#039;&amp;#039; in POSIX compatibility mode (with options {{mono|--posix}} or {{mono|-o posix}}).&amp;lt;ref&amp;gt;{{cite web|url=https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html|title=Bash Reference Manual: Bash Startup Files|work=gnu.org|access-date=15 June 2015}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.login}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.logout}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/profile}}&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|login{{Efn|name=&amp;quot;zsh profiles&amp;quot;|Only in sh/ksh compatibility mode (when invoked as bash, sh, ksh)}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.profile}}&lt;br /&gt;
|login&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login{{Efn|name=&amp;quot;bash profiles&amp;quot;|The first readable file in order of {{mono|~/.bash_profile}}, {{mono|~/.bash_login}} and {{mono|~/.profile}}; and only {{mono|~/.profile}} if invoked as {{mono|sh}} or, as of at least Bash 4.2, if invoked &amp;#039;&amp;#039;explicitly&amp;#039;&amp;#039; in POSIX compatibility mode (with options {{mono|--posix}} or {{mono|-o posix}})}}&lt;br /&gt;
|login{{Efn|name=&amp;quot;zsh profiles&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.bash_profile}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login{{Efn|name=&amp;quot;bash profiles&amp;quot;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.bash_login}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login{{Efn|name=&amp;quot;bash profiles&amp;quot;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.bash_logout}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.bashrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|int.+n/login&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/zshenv}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/zprofile}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/zshrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|int.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/zlogin}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|/etc/zlogout}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.zshenv}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.zprofile}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.zshrc}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|int.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.zlogin}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|{{mono|~/.zlogout}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|login&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* blank means a file is not read by a shell at all.&lt;br /&gt;
* &amp;quot;yes&amp;quot; means a file is always read by a shell upon startup.&lt;br /&gt;
* &amp;quot;login&amp;quot; means a file is read if the shell is a login shell.&lt;br /&gt;
* &amp;quot;n/login&amp;quot; means a file is read if the shell is not a login shell.&lt;br /&gt;
* &amp;quot;int.&amp;quot; means a file is read if the shell is interactive.&lt;br /&gt;
{{Clear}}{{Notelist}}&lt;br /&gt;
&lt;br /&gt;
==Other shells==&lt;br /&gt;
Variations on the Unix shell concept that don&amp;#039;t derive from Bourne shell or C shell include the following:&amp;lt;ref&amp;gt;{{cite web|url=http://www.freebsd.org/ports/shells.html |title=FreeBSD Ports: Shells |publisher=Freebsd.org |date=2014-03-30 |access-date=2014-04-05|archive-url=https://web.archive.org/web/20210112142623/http://www.freebsd.org/ports/shells.html|archive-date=2021-01-12|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[es (Unix shell)|es]] – A [[functional programming]] rc-compatible shell written in the mid-1990s.&lt;br /&gt;
* [[Friendly interactive shell]] (fish) – First released in 2005.&lt;br /&gt;
* [[PowerShell]] – An [[object-oriented]] shell developed originally for Windows OS and now available to macOS and Linux.&lt;br /&gt;
* [[Qshell]] – A shell on the [[IBM i]] operating system based on [[POSIX]] and [[X/Open]] standards.&lt;br /&gt;
* [[rc shell|rc]] – The default shell on [[Plan 9 from Bell Labs]] and [[Version 10 Unix]] written by [[Tom Duff]]. Ports have been made to various [[Unix-like]] operating systems.&lt;br /&gt;
* [[scsh]] – A [[Scheme (programming language)|Scheme]] Shell.&lt;br /&gt;
* [[wish (Unix shell)|wish]] – A windowing shell for [[Tcl/Tk]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Columns-list|&lt;br /&gt;
* [[Comparison of command shells]]&lt;br /&gt;
* [[List of POSIX commands]]&lt;br /&gt;
* [[Read–eval–print loop]]&lt;br /&gt;
* [[Restricted shell]]&lt;br /&gt;
* [[Shell (computing)]]&lt;br /&gt;
* [[Shell account]]&lt;br /&gt;
* [[Shell script]]&lt;br /&gt;
* [[Shell shoveling]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
{{Unix shells}}&lt;br /&gt;
{{Unix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:System administration]]&lt;br /&gt;
[[Category:Unix shells| ]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Guy Harris</name></author>
	</entry>
</feed>