我所知道的是,命令处理器是一个系统程序,它接受来自命令行或终端的指令并执行它们。此外,Shell 程序是一个命令解释器,所以在Unix系统中,shell就像(zsh,sh,bash,...)。我只想知道shell是否是命令处理器的一种,如果不是,它的分类是什么?我想了解得更详细一点。
elcex8rz1#
Shell不仅存在于Unix中。你听说过“Maven系统 shell ”吗?Windows有shell。不,不是PowerShell(也是),但资源管理器也被称为Windows Shell。它有一个API,它存在于shellapi.dll中,它有像ShellExecuteEx这样的函数。所以这是一个图形化的shell,你可以在其中执行图形化的命令(例如,点击某个东西来打开它,或者从一个文件夹拖到另一个文件夹),而不是文本命令行。“Shell”的意思是,粗略地说,面向用户的层:用户界面.我认为它特别指的是系统有其他接口的情况,比如编程接口。shell是一个单独的程序,它使用这些接口,原则上可以被另一个程序取代。因此,我们可能不会将引导加载程序(如U-Boot)中的命令解释器称为shell;它不是一个单独程序,它被写入U-Boot公开的中间件API。作为另一个例子,调制解调器中接受AT命令的命令处理器也不称为shell。
shellapi.dll
ShellExecuteEx
AT
1条答案
按热度按时间elcex8rz1#
Shell不仅存在于Unix中。你听说过“Maven系统 shell ”吗?
Windows有shell。不,不是PowerShell(也是),但资源管理器也被称为Windows Shell。它有一个API,它存在于
shellapi.dll
中,它有像ShellExecuteEx
这样的函数。所以这是一个图形化的shell,你可以在其中执行图形化的命令(例如,点击某个东西来打开它,或者从一个文件夹拖到另一个文件夹),而不是文本命令行。“Shell”的意思是,粗略地说,面向用户的层:用户界面.我认为它特别指的是系统有其他接口的情况,比如编程接口。shell是一个单独的程序,它使用这些接口,原则上可以被另一个程序取代。
因此,我们可能不会将引导加载程序(如U-Boot)中的命令解释器称为shell;它不是一个单独程序,它被写入U-Boot公开的中间件API。作为另一个例子,调制解调器中接受
AT
命令的命令处理器也不称为shell。