Tenho pesquisado diferentes interpretadores de linha de comando e percebi que o interpretador padrão do Windows cmd.exe
não é chamado de shell noPágina da Wikipédia. Praticamente todos os interpretadores de linha de comando de sistemas do tipo Unix são chamados de shells, mas não cmd.exe
a maioria dos outros interpretadores.
Existe uma razão para isso ou "shell" é apenas a nomenclatura para intérpretes pertencentes a sistemas do tipo Unix?
Responder1
Concha éprincipalinterface do usuário para o sistema operacional. No Windows esta interface é GUI. Utiliza explorer.exe
como "gerenciador de arquivos", cria "menu inferior", "janela de pastas" e controla o processo de abertura do arquivo: ao clicar no arquivo ele chama ShellExecute
a função.
Portanto, "shell" no Windows é UI e "cmd" era apenas para alguns comandos legados ou especiais. Por muitos anos, a Microsoft considerou a GUI a melhor maneira de fazer qualquer coisa.
Em ~ 2006 eles descobriram que os shells unix (bash, ksh, zsh) são muito populares entre os administradores de sistemas, então eles inventaramPowerShell: Substituição de cmd baseada em .net que é muito legal, especialmente se usada com o Powershell ISE mais recente. É chamadoconchaporque seu principal objetivo é se tornar um "cidadão de primeira classe" para muitas tarefas de administração de sistemas. Qualquer produto de servidor moderno da Microsoft possui cmdlets para que você possa fazer quase tudo no PowerShell (sem MMC).
Não sei por que eles não usaram a palavra "Shell" para "command.com" na era do MS-DOS. Pode ser que eles tenham emprestado a terminologia do CP/M e o tenham chamado de "processador de comando".
Engraçado: havia um gerenciador de arquivos GUI de curta duração "DOS Shell" para DOS. Ele foi descontinuado na versão 6.22 e a maioria das pessoas usava o Norton Commander naquela época.