Shells(2)

Como comentaba en la entrada previa, esta serie de posts se enfocará mucho a los shells de unix, pero espero ocasinalmente poder mencionar algunos otros. Lo más importante, cuando no se hagan referencias explícitas a comandos de cada shell, es que se considere lo que aquí se exponga a otro intérpretes de comandos o interfaces de usuario

Obviamente, el desarrollo de los shells de unix van de la mano con la historia1 de esta familia de sistemas operativos.

Pese al conocimiento de esta evolución, resulta difícil decir con precisión cuántos shells existen y han existido en unix1-4.

Source: https://github.com/marcpaq/shellancestry, © Marc Paquette

Shells tradicionales y estándar en Unix

  1. sh (Bourne Shell) – El shell original de Unix, desarrollado por Stephen Bourne en AT&T Bell Labs en los años 70.
  2. csh (C Shell) – Creado por Bill Joy en los años 70, introdujo características como alias y scripting con sintaxis similar a C.
  3. ksh (Korn Shell) – Desarrollado por David Korn, es una evolución de sh con mejoras en scripting y funcionalidades interactivas.

Shells modernos y populares

  1. bash (Bourne Again Shell) – Un reemplazo mejorado de sh, con historial de comandos, edición en línea y compatibilidad con scripts de Bourne Shell.
  2. zsh (Z Shell) – Una mejora sobre bash, con autocompletado avanzado, corrección automática y opciones de personalización (como oh-my-zsh).
  3. fish (Friendly Interactive Shell) – Diseñado para ser más intuitivo, con autocompletado inteligente y configuración amigable.

Shells menos comunes o especializados

  1. dash (Debian Almquist Shell) – Un shell ligero basado en ash, optimizado para velocidad y scripts de sistema.
  2. ash (Almquist Shell) – Un shell ligero basado en sh, usado en sistemas minimalistas y embebidos.
  3. tcsh (TENEX C Shell) – Basado en csh, con mejoras en edición de línea de comandos e historial de comandos.
  4. es (Extensible Shell) – Un shell funcional inspirado en rc, con capacidades avanzadas de programación.
  5. rc (Plan 9 Shell) – Usado en Plan 9, con sintaxis más limpia y simple que sh.
  6. mksh (MirBSD Korn Shell) – Una variante ligera de ksh, usada en sistemas como Android en modo recovery.
  7. yash (Yet Another Shell) – Un shell POSIX puro, con mejoras en scripting.
  8. oil (Oil Shell) – Un intento moderno de reemplazar bash con una sintaxis más limpia y segura.

Los más utilizados hoy en día son sh, bash, zsh, y en menor medida fish. Si uno trabaja en sistemas embebidos o minimalistas, es probable recurrir al ash o dash.

Referencias

  1. «History of Unix«, Wikipedia, web. Visited: 2025.03.19. URL: https://en.wikipedia.org/wiki/History_of_Unix.
  2. Marc Paquette, «Shell ancestry«, github.com/marcpaq/shellancestry, repository. Visited: 2025.03.19. URL: https://github.com/marcpaq/shellancestry
  3. «Unix Shell«, Wikipedia, web. Visited: 2025.03.19. URL: https://en.wikipedia.org/wiki/Unix_shell.
  4. M. Jones, «Evolution of shells in Linux. From Bourne to Bash and beyond«, ibm.com, web. Published: 2011.12.09; Visited: 2025.03.19. URl: https://developer.ibm.com/tutorials/l-linux-shells/.

Siguiente

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.