Tipos de Shells

Tipos de shells
Antes de comenzar a ver los principales tipos de shells, en necesarios que entendamos a que nos estamos refiriendo, por lo que haremos un breve repaso. En GNU/Linux y Unix, un shell es un programa que se utiliza para ingresar comandos escritos por un usuario en la terminal y los traduce como un conjunto de instrucciones para que puedan ser entendidas por el sistema operativo.
Consiste en la interfaz mediante la cual el usuario del sistemas operativos puede comunicarse con su núcleo a través de instrucciones que le aporta al intérprete y por extensión, ejecutar dichas órdenes o programas (internos/propios del shell o externos/instalados) como herramientas que le permiten controlar el funcionamiento de la computadora entre otras cosas. En pocas palabras, le permite al usuario darles ordenes a una maquina.
Las órdenes se introducen siguiendo la sintaxis incorporada por dicho intérprete.

Principales Shells
A continuación veremos las principales Shells disponible para su instalación y uso en los sistemas operativos GNU/Linux.
Shell Bourne
La Shell Bourne original lleva el nombre de su creador en los Laboratorios Bell, Steve Bourne. Fue la primera shell utilizada para el sistema operativo Unix, y ha superado en gran parte la funcionalidad de muchas de las shells más recientes. Sin embargo, todas las versiones de Linux Unix permiten a los usuarios cambiar a la original Shell Bourne, conocida simplemente como «sh», si así lo desean para renunciar a funcionalidades como el completado de nombres de archivo y el historial de comandos que los depósitos posteriores han añadido.
Shell Zsh
Zsh es un potente intérprete de comandos que puede funcionar como shell interactiva y como intérprete de lenguaje de scripting. Aún siendo compatible con Bash (no por defecto, solo si se ejecuta emulate sh), ofrece numerosas ventajas como:
-Eficiencia
-Completado de tabulador mejorado
-Expansión de nombres de fichero mejorada
-Manejo de arrays mejorado
-Totalmente personalizable
Shell C
La Shell C, también conocida como «csh», fue diseñada para permitir a los usuarios escribir programas en script de shell con una sintaxis muy similar a la del lenguaje de programación C.
En muchos sistemas como Red Hat, csh es tcsh, una versión mejorada de csh. A menudo cualquiera de los dos nombres (csh o tcsh) es un enlace simbólico a la versión mejorada de C shell (tcsh).
Shell TC
Shell TC es una expansión de la Shell C. Tiene todas las mismas funcionalidades, pero añade la posibilidad de utilizar pulsaciones de teclado del programa de procesador de palabras Emacs para editar el texto en la línea de comandos. Por ejemplo, los usuarios pueden presionar Esc-D para eliminar el resto de la palabra seleccionada. Comúnmente conocida como «tcsh».
Shell Korn
Shell Korn también fue escrita por un programador en los Laboratorios Bell, David Korn. Intenta combinar las características de la Shell C, Shell TC y Shell Bourne en un solo paquete. También incluye la capacidad para crear nuevos comandos de shell para los desarrolladores cuando surja la necesidad.Se conoce como «ksh«.
Shell Bourne-Again
La Shell Bourne-Again es una versión actualizada de la Shell Bourne original creada por la Free Software Foundation en su proyecto de código abierto GNU. Por esta razón, es una shell utilizada ampliamente en la comunidad de código abierto.
Su sintaxis es similar a la utilizada por la Shell Bourne, sin embargo, incorpora algunas de las funcionalidades más avanzadas que se encuentran en las shells C, TC y Korn.
Entre las funcionalidades adicionales que carecía Bourne, está la capacidad para completar nombres de archivos pulsando la tecla TAB, la capacidad de recordar un historial de comandos recientes y la capacidad de ejecutar múltiples programas en segundo plano a la vez.
Conocida como «Bash» (Bourne again shell).
Fuente: Wikipedia
Fuente: Wiki Archlinux
Puedes seguirnos en:
Ayudanos a mantener el sitio con una contribución.
Muchas gracias!
Espero sea de utilidad.
Saludos, Cristian Bellini.
Una respuesta
Entre Zsh y Bash cual te parece mejor, si puedes explicar el porque por favor.