Warum wird der Kommandozeileninterpreter cmd.exe nicht als Shell bezeichnet?

Warum wird der Kommandozeileninterpreter cmd.exe nicht als Shell bezeichnet?

Ich habe verschiedene Kommandozeileninterpreter untersucht und festgestellt, dass der Standard-Windows-Interpreter cmd.exeauf demWikipedia-Seite. So ziemlich alle Kommandozeileninterpreter von Unix-ähnlichen Systemen werden als Shells bezeichnet, cmd.exedie meisten anderen Interpreter jedoch nicht.

Gibt es dafür einen Grund oder ist „Shell“ lediglich die Nomenklatur für Interpreter unixähnlicher Systeme?

Antwort1

Shell isthauptsächlichBenutzeroberfläche des Betriebssystems. In Windows ist diese Oberfläche eine GUI. Sie dient explorer.exeals „Dateimanager“, erstellt ein „Untermenü“, ein „Ordnerfenster“ und steuert den Vorgang des Öffnens von Dateien: Wenn Sie auf eine Datei klicken, wird ShellExecuteeine Funktion aufgerufen.

Also ist „Shell“ in Windows die Benutzeroberfläche und „cmd“ war nur für einige veraltete oder spezielle Befehle gedacht. Viele Jahre lang dachte Microsoft, dass die GUI die beste Möglichkeit ist, alles zu tun.

Im Jahr 2006 stellten sie fest, dass Unix-Shells (bash, ksh, zsh) bei Systemadministratoren sehr beliebt sind, und erfandenPower Shell: .net-basierter cmd-Ersatz, der besonders in Verbindung mit der neuesten Powershell ISE sehr cool ist. Er heißtHülseweil sein Hauptzweck darin besteht, für viele Systemadministratoraufgaben ein „First-Class-Citizen“ zu werden. Jedes moderne Microsoft-Serverprodukt verfügt über Cmdlets, sodass Sie fast alles von Powershell aus tun können (ohne MMC).

Ich weiß nicht, warum sie in der MS-DOS-Ära nicht das Wort „Shell“ für „command.com“ verwendet haben. Es könnte sein, dass sie die Terminologie von CP/M übernommen und es „Befehlsprozessor“ genannt haben.

Lustig: Es gab einen kurzlebigen GUI-Dateimanager namens „DOS Shell“ für DOS. Er wurde in 6.22 eingestellt und die meisten Leute verwendeten damals Norton Commander.

verwandte Informationen