Guía del comando screen
Guía para actualizaciones del clúster EKS

Una breve historia de las shells

Una breve historia de las shells

La historia de las shells en sistemas Unix es fascinante y está profundamente arraigada en el desarrollo del sistema operativo Unix y en la evolución de la informática.

Aquí tienes una genealogía de shells desde la primera shell de Unix, la Thompson shell. Cada descendiente aparece en el año en que se anunció por primera vez al mundo. Por ejemplo, S. R. Bourne anunció su shell en el Bell System Technical Journal en 1978, pero Bell la lanzó al mundo en 1979 aproximadamente.

Historia de las shells cronológica

Almquist shell (ash)

Desarrollado por Kenneth Almquist, la Almquist shell, conocida como ash, es una shell liviana y portátil diseñada para eficiencia y simplicidad. Su objetivo es ser una shell pequeña pero funcional, ideal para sistemas integrados y entornos con recursos limitados. Ash sigue de cerca el estándar POSIX, lo que la hace compatible con una amplia gama de sistemas tipo Unix. Su diseño minimalista y enfoque en la conformidad con estándares la convierten en una opción popular para sistemas con recursos limitados.

Almquist shell – Wikipedia

Bash (Bourne Again SHell)

Creada por Brian Fox, Bash (Bourne Again SHell) es muy importante en la historia de las shells. Es de código abierto que mejora y extiende la funcionalidad de la shell Bourne original. Ampliamente utilizada en sistemas tipo Unix y Linux, es la shell predeterminada en muchas distribuciones. Bash incorpora características de las shells Korn (ksh) y C (csh), manteniendo la compatibilidad con la Bourne shell. Admite edición interactiva de línea de comandos, control de trabajos y numerosas funciones de scripting, haciéndola poderosa y versátil tanto para uso interactivo como para scripting.

Bash – Wikipedia

Bourne shell (sh)

Creada por Stephen R. Bourne, la Bourne shell (sh) fue una de las primeras shells de Unix, desarrollada en Bell Labs. Proporciona una interfaz simple y eficiente en línea de comandos para sistemas tipo Unix. A pesar de su antigüedad, la Bourne shell sigue siendo significativa, sirviendo como base para muchas shells y scripts posteriores. Sus capacidades de scripting y su diseño sencillo han influido en el desarrollo de varias otras shells y siguen siendo relevantes en los sistemas Unix modernos.

Bourne shell – Wikipedia

BRL shell

La Bourne Research Laboratory (BRL) shell, conocida como la Bourne Again SHell (BRLSH), fue desarrollada por Doug A. Gwyn, Doug Kingston, Ron Natalie, Arnold Robbins, Lou Salkind y otros. Buscaba mejorar las capacidades de la Bourne shell, agregando características como historial de comandos y edición de línea de comandos. Aunque no fue tan ampliamente adoptada como otras shells, la BRL shell desempeñó un papel en la evolución de la funcionalidad de la shell y las mejoras en la interfaz de usuario.

BRL shell – Archivo Web

BusyBox

Creado por Bruce Perens, BusyBox no es una shell independiente, sino un conjunto de herramientas que incluye una shell simplificada. Diseñado para sistemas integrados y entornos con recursos limitados, proporciona un único ejecutable que incluye múltiples funcionalidades, siendo una elección compacta y eficiente para sistemas con almacenamiento y memoria limitados.

BusyBox – Wikipedia

C shell (csh)

Desarrollada por Bill Joy, la C shell (csh) es conocida por su sintaxis similar a C y sus características interactivas. Introdujo historial de comandos, edición de línea de comandos y control de trabajos, mejorando la interactividad del usuario. Aunque fue popular entre algunos usuarios, las capacidades de scripting de la C shell se consideraron menos poderosas que las de la Bourne shell. Su sucesora, tcsh, abordó algunas de estas limitaciones mientras mantenía la compatibilidad.

C shell – Wikipedia

Desktop KornShell (dtksh)

También conocida como dtksh, la Desktop KornShell fue creada por Stephen J. Pendergrast. Es una versión extendida de la Korn shell (ksh) con características adicionales diseñadas para programación gráfica dentro del Common Desktop Environment (CDE). Dtksh proporciona herramientas para crear interfaces gráficas de usuario y está diseñada para integrarse perfectamente con el entorno de escritorio.

KornShell – Wikipedia

Forsyth shell

Desarrollada por Charles Forsyth, la Forsyth shell es conocida por haber sido portada a MINIX 1. Representa una de las muchas variaciones de las shells de Unix que surgieron con el tiempo. Aunque las contribuciones de Forsyth al desarrollo de shells no son tan reconocidas como algunas otras, son notables por su impacto en la diversidad de las shells disponibles.

Archivo Web

es shell

Creada por Paul Haahr y Byron Rakitzis, la es shell es una shell de Unix que enfatiza la simplicidad y la extensibilidad. Admite un lenguaje de scripting poderoso y flexible, y proporciona una interfaz limpia y minimalista. La es shell es especialmente adecuada para el uso interactivo y tareas de scripting, ofreciendo un enfoque único en el diseño de shells.

Artículo sobre es shell

Korn shell (ksh88, ksh93, ksh93q)

Creada por David G. Korn, la Korn shell (ksh) tiene varias versiones, como ksh88, ksh93 y ksh93q. Con características combinadas de las shells Bourne y C, ofrece un lenguaje de scripting potente con constructos de programación avanzados. Las Korn shells son ampliamente utilizadas para uso interactivo y scripting, siguiendo de cerca los estándares POSIX para garantizar la portabilidad.

KornShell – Wikipedia, Sitio web de KornShell

mksh

La MirOS Korn Shell (mksh) es una variante de código abierto de la Korn shell. Aunque no está claro quién es el autor específico, mksh tiene como objetivo proporcionar una implementación liviana y eficiente de la Korn shell. Sigue los principios de simplicidad, corrección y portabilidad, siendo adecuada para una variedad de sistemas tipo Unix.

mksh – Wikipedia

Public Domain Korn shell (pdksh), OpenBSD ksh

Creada por Eric Gisin, la Public Domain Korn shell (pdksh) es una implementación de código abierto de la Korn shell. Se convirtió en la base para la Korn shell en OpenBSD. Diseñada para ser compatible con la Korn shell original de AT&T (ksh88), también introduce algunas mejoras. Sirve como la shell predeterminada en sistemas OpenBSD.

Archivo Web, Manual de OpenBSD Korn shell

PWB shell

Creada por John Mashey, la Programmer’s Work Bench shell (PWB shell), también conocida como la Mashey shell, fue desarrollada para el entorno Programmer’s Work Bench. Introdujo características como edición de línea de comandos e historial, contribuyendo a la evolución de las interfaces de shell interactivas. La PWB shell es históricamente significativa, ya que influyó en el desarrollo de shells posteriores.

PWB shell – Wikipedia, Documento Mashey 1976

rc shell

Creada por Tom Duff, la rc shell es una shell de Plan 9 conocida por su simplicidad y sintaxis expresiva. Desarrollada como parte del sistema operativo Plan 9 from Bell Labs, rc se centra en proporcionar una interfaz limpia y consistente tanto para uso interactivo como para scripting. Ha influido en el diseño de shells posteriores y se aprecia por su elegancia y eficiencia.

Plan 9 from Bell Labs – Wikipedia, rc – Wikipedia, Documento sobre rc

Thompson shell

Desarrollada por Ken Thompson, la Thompson shell es una de las primeras shells de Unix creada en Bell Labs. Representa el trabajo fundacional que contribuyó al desarrollo de shells posteriores. Aunque no es tan completa como shells posteriores, la Thompson shell desempeñó un papel crucial en la formación del panorama de las interfaces de línea de comandos de Unix.

Thompson shell – Wikipedia, Historia de Ken Thompson

tcsh

Creada por Ken Greer, Paul Placeway, Christos Zoulas, entre otros, la tcsh es una versión mejorada de la C shell (csh). Incorpora características adicionales como edición de línea de comandos, historial y mejoras interactivas. Aborda algunas limitaciones de la C shell y es ampliamente utilizada para sesiones interactivas de shell.

tcsh – Wikipedia, Repositorio de tcsh en GitHub

tksh

La shell Tksh, mencionada en los enlaces proporcionados, no está atribuida a un autor específico. Se asocia con el lenguaje de scripting Tcl y está diseñada para proporcionar una interfaz similar a la Korn shell con integración Tcl. Tksh permite a los usuarios combinar sin problemas scripting de shell y programación Tcl, ofreciendo una combinación única de características.

Usenix – Tcl96 – Tksh

toybox

Creado por Robert Landley, Toybox no es una shell independiente, sino un conjunto de herramientas de software que incluye versiones minimalistas de utilidades comunes de Unix. Su objetivo es proporcionar un ejecutable único que pueda funcionar como varias herramientas de línea de comandos, incluida una shell. Toybox está diseñado para la simplicidad, eficiencia y facilidad de uso en sistemas integrados y entornos con recursos limitados.

Toybox – Wikipedia, Sitio oficial de Toybox

zsh

Creada por Paul Falstad, la Zsh (Z shell) es una shell Unix potente y altamente personalizable. Incluye características de otras shells, como edición de línea de comandos, historial y completado programable. Zsh es conocida por su capacidad de extensión y características interactivas amigables para el usuario. Se ha vuelto popular entre usuarios avanzados y desarrolladores por su flexibilidad y robustas capacidades de scripting.

Grupo de discusión – Zsh

Zsh: Configuración, personalización y algo más

Configuración personal de la shell

Más apuntes

Invítame a un café con bitcoins:
1QESjZDPxWtZ9sj3v5tvgfFn3ks13AxWVZ

Bitcoins para café
También puedes invitarme a algo para mojar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar