0

I have been researching different command line interpreters and have noticed that the default Windows interpreter cmd.exe is not referred to as a shell on the Wikipedia page. Pretty much all of the command line interpreters of Unix-like systems are referred to as shells but not cmd.exe or most of the other interpreters for that matter.

Is there a reason for this or is "shell" just the nomenclature for interpreters belonging to Unix-like systems?

closed as primarily opinion-based by Scott, Kamil Maciorowski, Pimp Juice IT, music2myear, I say Reinstate Monica Oct 6 '17 at 16:15

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    That's likely down to the opinion of whoever wrote that Wikipedia piece; Microsoft refers to it as a shell in some documentation. – Bob Sep 28 '17 at 1:06
  • 1
    possible duplicate: Command Prompt - Shell, Terminal, Console? – phuclv Sep 28 '17 at 1:20
  • 1
    cmd.exe is in fact a shell. "Shell" is most commonly used in conjunction with Unix systems as you mention, where there is a wide variety of them, and thus it is worthwhile to speak of them generically as you don't know which one the user has/uses, but any interface in which you can provide (generic) input for execution is a shell. a Terminal provides character input to a command shell, but explorer.exe is a shell that takes gestural input as well as character data. – Frank Thomas Sep 28 '17 at 3:33
  • 1
    Possible duplicate of Command Prompt - Shell, Terminal, Console? – I say Reinstate Monica Oct 6 '17 at 16:15
2

Shell is main user interface to operation system. In Windows this interface is GUI. It uses explorer.exe as "file manager", creates "bottom menu", "folder window" and controls process of file opening: when you click on file it calls ShellExecute function.

So, "shell" in Windows is UI and "cmd" was only for some legacy or special commands. For many years Microsoft thought GUI is the best way to do anything.

It ~ 2006 they found that unix shells (bash, ksh, zsh) are very popular among sysadmins, so they invented PowerShell: .net based cmd substitution which is very cool especially if used with latest Powershell ISE. It is called shell because its main purpose to become "first class citizen" for many sys-admin tasks. Any modern Microsoft server product has cmdlets so you can do almost anything from powershell (with out of MMC).

I do not know why they did not use word "Shell" for "command.com" in MS-DOS era. It could be that they borrowed terminology from CP/M and called it "command processor".

Funny: there was a "DOS Shell" short-living GUI file manager for DOS. It was discontinued in 6.22 and most people used Norton Commander that time.

  • according to the shell tag: "A shell is software that lets users interact with the operating system, usually by typing at a command-line." windows-shell Windows Shell on MSDN, Windows Shell on wiki – phuclv Sep 28 '17 at 1:18
  • 2
    A system can have many shells. cmd.exe, powershell.exe, and command.com, and explorer.exe are all examples of windows shells. The Op is simply incorrect that the command window is not called a shell. – Frank Thomas Sep 28 '17 at 3:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.