【壳层】
right
-{zh-hans:Shell;zh-hant:壳层}-（-{zh-hans:也称为壳层;zh-hant:Shell}-）在电脑科学中指「为使用者提供使用者介面」的软体，通常指的是命令行界面的解析器。一般来说，这个词是指作业系统中提供存取内核所提供之服务的程式。Shell也用于泛指所有为用户提供操作界面的程序，也就是程序和用户交互的层面。因此与之相对的是内核（Kernel），内核不提供和用户的交互功能。
不过这个词也拿来指应用软体，或是任何在特定元件外围的软体，例如浏览器或电子邮件软体是HTML排版引擎的Shell。Shell这个词是来自于作业系统（核心）与使用者介面的外层介面。
通常将shell分为两类：命令列与图形介面。命令列壳层提供一个命令行界面（CLI）；而图形壳层提供一个图形使用者介面（GUI）。
== 历史 ==
壳层（shell）这个说法起源于路易斯·普赞（Louis Pouzin），在1964年至1965年间首次提出，随后在Multics（MULTiplexed Information and Computing System）计划中首次被实作出来。
Unix上的第一个Unix壳层（Unix shell）是肯·汤普逊（Ken Thompson）以Multics上的shell为范本，所写出的Thompson shell。
微软的Windows操作系统也提供了命令行壳层的功能，它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell；而图形界面壳层即为explorer.exe。
== 壳层列表 ==
=== 图形用户界面（GUI）壳层 ===
GUI通常会建构在视窗系统上。
* AmigaOS环境：
** Workbench（从AmigaOS 2.0之后增加了GUI壳）
** Ambient（MorphOS）
** Directory Opus
** ScalOS
** Wanderer（AROS.）
* DOS Shell
* Macintosh Finder
* Microsoft Windows环境：
** Aston shell
** BB4Win
** Emerge Desktop
** Geoshell
** Litestep
** Program Manager
** Secure Desktop
** SharpE
** Windows Explorer
** UserShell
* X Window System环境或Wayland环境（主要用于类Unix作业系统）：
** 独立的X窗口管理器，例如Blackbox与Fluxbox
** 依靠窗口管理器的完整桌面环境，例如：
*** CDE
*** GNOME
*** Unity（以GNOME作核心）
*** KDE
*** XFCE
=== 命令行界面（CLI）壳层 ===
==== Unix或类似作业系统下的壳层 ====
常见或历史上知名的Unix壳层有：
* Bourne shell（sh） /* 'man sh' date=20201112021330 */
** Almquist shell（ash） /* 'man ash' date=20210225025218 */
*** Debian Almquist shell（dash） /* 'man dash' date=20210224121139 */
** Bourne-Again shell（bash） /* 'man bash' date=20210413140510 */
** Korn shell（ksh） /* 'man ksh' date=20210227053922 */
** Z shell（zsh） /* 'man zsh' date=20210224043709 */
* C shell（csh） /* 'man csh' date=20201013205438 */
** TENEX C shell（tcsh） /* 'man tcsh' date=20210105201527 */
* EMACS shell (eshell)
* Es shell（es）
* esh (Unix) – Easy Shell
* friendly interactive shell（fish） /* 'man fish' date=20210224092104 */
* rc shell（rc）– shell for Plan 9 from Bell Labs and Unix
* scsh（Scheme Shell）
* Stand-alone Shell（sash）
* BeanShell（ bsh date=20201210230349 ， bsh.Interpreter , bsh.Console date=20201210230355 ） /* 'man bsh'fix-attempted=yes */
* Rhino  JavaScript壳层 date=20110103060950 （ org.mozilla.javascript.tools.shell.Main date=20120629082425 ） /* 'man rhino'*/
以及linux系统上的： '/etc/shells' date=20181210213739
==== 非Unix作业系统的壳层 ====
* 4DOS, 4OS2, 4NT –  JP Software公司可在在DOS, OS/2，及Windows NT下使用的壳层。Take Command程式则是GUI方式的相容程式。
* Amiga CLI/Amiga壳层是称为Workbench的AmigaOS图形介面的另一选择。
* BASIC-PLUS – RSTS/E
* Beemos（BEEMos）–在Windows XP上执行的一个小型专案，提供设定、应用程式等功能，感觉起来像是在另一个作业系统下。
* CANDE MCS– MCP作业系统的指令行壳曾与文字编辑器
* CCP – CP/M作业系统的主控台指令处理器
* cmd.exe –基于OS/2、Windows CE、Windows NT系列作业系统的命令提示字元壳层
* COMMAND.COM – DOS的壳层
* Commodore DOS Wedge – Commodore 64上BASIC 2.0的延伸功能，包括常用磁碟操作的简略指令
* DCL – OpenVMS的标准壳层，衍生自早期的迪吉多（DEC）作业系统
* DDT – 迪吉多（DEC）PDP-10 侦错工具，麻省理工学院Incompatible Timesharing System的指令壳层
* DROS – 智能手机上基于Java ME平台的类DOS壳层
* EFI-SHELL –可扩展韧体介面（Extensible Firmware Interface，EFI）指令壳层，它是开放原始码的
* Google Shell –基于浏览器的Google Search前端介面
* iSeries QSHELL – IBM OS/400上的Unix风格壳层
* Macintosh Programmer's Workshop –古典Mac OS软体开发用的老式指令行环境
* Microsoft BASIC –一些古老8位元电脑上的主要作业环境
* Rexx – IBM的脚本语言（scripting language）
* Singularity shell – Singularity的标准壳层
* Windows PowerShell –命令提示字元的新一代物件导向后继者（旧称Monad或Microsoft Shell (MSH)）
* Windows修复主控台– Windows 2000、Windows XP、Windows 2003作业系统的一项功能
* YouShell –用于YouOS，基于JavaScript的指令处理器
== 参考文献 ==
== 外部连结 ==
*  命令壳层概观，Microsoft Technet date=20101114074356
*  The Unix Shell: Introduction