Esta es una pregunta muy general, pero estoy teniendo dificultades para encontrar aclaraciones. Mi pregunta es: ¿las GUI del sistema operativo tienen un shell diferente al del intérprete de línea de comandos? Cuando estaba leyendo acerca de los shells en la página de Wikipedia, dice debajo de la sección de Microsoft Windows que "la mayoría de los shells del sistema operativo en Microsoft Windows no son intérpretes de línea de comandos". Entiendo que en la actualidad, la mayoría de las personas usan una GUI para interactuar con su sistema operativo y que si un sistema operativo tiene una GUI, la GUI sirve como el shell principal del sistema operativo.
Así que aquí es donde entra mi confusión. En Windows 10, por ejemplo, puede acceder a la interfaz de línea de comandos e ingresar comandos al sistema operativo si así lo desea. ¿La interfaz de línea de comandos en un sistema operativo con una GUI tiene el mismo shell que su GUI respectiva?
fuente
cscript myscript.vbs
está invocando un shell cscript y ejecutando su script. La barra de ejecución es su propio shell, al igual que cada ventana de comando. Cada shell mantiene su propio entorno, como lo demuestra el comportamiento de los verbos SET y SETX que modifican el entorno para uno o muchos otros shells.Respuestas:
Algunas personas de la tradición de Windows usan el término "shell" en un sentido muy amplio para referirse a la interfaz de usuario del sistema operativo, ya sea gráfica o de línea de comandos.
Entonces, en Windows, la GUI es el "shell".
Algo de esto se remonta a una antigua aplicación de administrador de archivos semi-gráfica de MS-DOS (gráficos en modo texto) llamada "DOS Shell", que intentó proteger al usuario de tener que usar el símbolo del sistema de DOS real. Entonces, si esta aplicación de administrador de archivos era un "shell" en DOS, entonces los administradores de archivos de Windows y los administradores de programas y los administradores de procesos y los entornos de escritorio y los sistemas GUI también eran "shells" en el sistema operativo, presentando una interfaz de usuario más agradable.
En el mundo Unix, los intérpretes de línea de comandos son shells, y los entornos GUI / windowing / desktop nunca se consideran shells de ningún tipo. La terminología de macOS sigue este modelo. El Finder no es un shell: bash es un shell.
Supongo que en términos de MS Windows, el intérprete de línea de comandos es parte del shell, al igual que el Explorador de Windows y el menú Inicio son partes del shell. Simplemente reemplace "shell" con "interfaz de usuario" y comprenderá la forma en que se utiliza el término entre algunos académicos de Windows. ¿Es la interfaz de usuario de la línea de comandos parte de la interfaz de usuario del sistema operativo? Sí. Entonces es parte del caparazón.
fuente