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.

Shells tradicionales y estándar en Unix
- sh (Bourne Shell) – El shell original de Unix, desarrollado por Stephen Bourne en AT&T Bell Labs en los años 70.
- csh (C Shell) – Creado por Bill Joy en los años 70, introdujo características como alias y scripting con sintaxis similar a C.
- ksh (Korn Shell) – Desarrollado por David Korn, es una evolución de
shcon mejoras en scripting y funcionalidades interactivas.
Shells modernos y populares
- 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. - zsh (Z Shell) – Una mejora sobre
bash, con autocompletado avanzado, corrección automática y opciones de personalización (comooh-my-zsh). - fish (Friendly Interactive Shell) – Diseñado para ser más intuitivo, con autocompletado inteligente y configuración amigable.
Shells menos comunes o especializados
- dash (Debian Almquist Shell) – Un shell ligero basado en
ash, optimizado para velocidad y scripts de sistema. - ash (Almquist Shell) – Un shell ligero basado en
sh, usado en sistemas minimalistas y embebidos. - tcsh (TENEX C Shell) – Basado en
csh, con mejoras en edición de línea de comandos e historial de comandos. - es (Extensible Shell) – Un shell funcional inspirado en
rc, con capacidades avanzadas de programación. - rc (Plan 9 Shell) – Usado en Plan 9, con sintaxis más limpia y simple que
sh. - mksh (MirBSD Korn Shell) – Una variante ligera de
ksh, usada en sistemas como Android en modo recovery. - yash (Yet Another Shell) – Un shell POSIX puro, con mejoras en scripting.
- oil (Oil Shell) – Un intento moderno de reemplazar
bashcon 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
- «History of Unix«, Wikipedia, web. Visited: 2025.03.19. URL: https://en.wikipedia.org/wiki/History_of_Unix.
- Marc Paquette, «Shell ancestry«, github.com/marcpaq/shellancestry, repository. Visited: 2025.03.19. URL: https://github.com/marcpaq/shellancestry
- «Unix Shell«, Wikipedia, web. Visited: 2025.03.19. URL: https://en.wikipedia.org/wiki/Unix_shell.
- 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

