Tipos de shells en Linux

En Linux y Unix, un shell se refiere a un programa que se utiliza para interpretar los comandos escritos que el usuario envía al sistema operativo. La analogía más cercana en Windows es el símbolo del sistema de DOS. Sin embargo, a diferencia de Windows, las computadoras Linux y Unix permiten al usuario elegir qué shell les gustaría usar.

Concha Bourne

El shell Bourne original lleva el nombre de su desarrollador en Bell Labs, Steve Bourne. Fue el primer shell utilizado para el sistema operativo Unix, y ha sido ampliamente superado en funcionalidad por muchos de los shells más recientes. Sin embargo, todas las versiones de Unix y muchas de Linux permiten a los usuarios cambiar al Bourne Shell original, conocido simplemente como "sh", si optan por renunciar a funciones como la finalización del nombre de archivo y los historiales de comandos que se agregaron posteriormente.

C Shell

El shell C, como su nombre lo indica, fue diseñado para permitir a los usuarios escribir programas de script de shell utilizando una sintaxis muy similar a la del lenguaje de programación C. Se conoce como "csh".

Shell de TC

El shell TC es una expansión del shell C. Tiene todas las mismas funciones, pero agrega la capacidad de utilizar las pulsaciones de teclas del programa procesador de textos Emacs para editar texto en la línea de comandos. Por ejemplo, los usuarios pueden presionar Esc-D para eliminar el resto de la palabra resaltada. También se conoce como "tcsh".

Carcasa Korn

Korn Shell también fue escrito por un desarrollador de Bell Labs, David Korn. Intenta fusionar las características del shell C, el shell TC y el shell Bourne en un solo paquete. También incluye la capacidad para que los desarrolladores creen nuevos comandos de shell a medida que surja la necesidad.

Se conoce como "ksh".

Bourne-Again Shell

El shell Bourne-Again es una versión actualizada del shell Bourne original que fue creado por la Free Software Foundation para su proyecto GNU de código abierto. Por esta razón, es un shell muy utilizado en la comunidad de código abierto.

Su sintaxis es similar a la utilizada por el shell Bourne, sin embargo, incorpora algunas de las funciones más avanzadas que se encuentran en los shells C, TC y Korn.

Entre las funciones adicionales de las que carecía Bourne se encuentran la capacidad de completar los nombres de los archivos presionando la tecla TAB, la capacidad de recordar un historial de comandos recientes y la capacidad de ejecutar varios programas en segundo plano a la vez.

Se conoce como "bash".