6 Shells de Linux Alternativos para Usuarios Avanzados

Bash, o el Bourne Again Shell, es lo que viene preinstalado en la mayoría de las distribuciones de Linux. Sin embargo, no es el único shell que existe. Hay varios otros para probar. Aquí hay seis shells alternativos que pueden reemplazar a bash. Cada uno de ellos tiene sus pros y sus contras, así que debes probarlos y ver cuál es el mejor para ti.
Tabla de Contenidos
- sh (o el Bourne Shell)
- Dash
- csh (o C Shell)
- ksh (o Korn Shell)
- zsh (o Z Shell)
- Fish
Consejo: ¿Cansado de usar Bash? Aprende cómo cambiar tu shell predeterminado en Linux.
1. sh (o el Bourne Shell)
El Bourne shell, nombrado así por su creador Stephen Bourne, fue uno de los primeros shells jamás creados. Se podría decir que fue utilizado como la base sobre la cual se creó Bash. A veces los usuarios confunden ambos y piensan que son lo mismo, aunque no lo son. Es cierto que muchos scripts .sh se ejecutarán en Bash también, porque Bash incluye mucho de Sh, pero lo contrario no es cierto.

Puedes pensar en Sh como el predecesor de Bash. No tiene tantas características, pero es más estandarizado que Bash.
2. Dash
Dash es esencialmente Bash en sistemas Debian. Si estás ejecutando una distribución basada en Debian, es probable que estés ejecutando Dash, no Bash. Sin embargo, debido a las complejidades de usar Dash como el shell predeterminado, Ubuntu (una distribución basada en Debian) decidió usar Bash para scripts interactivos, no Dash como el shell predeterminado.

Dash carece de muchas de las características de Bash, como la finalización de tabulaciones y el historial de comandos, pero es más rápido y mucho más pequeño en tamaño (100K vs. 900K), lo cual es un factor si lo estás ejecutando en una computadora no tan potente.
También lee: Cómo usar Sed en Linux
3. csh (o C Shell)
Los lenguajes de programación C y C++ eran bastante populares, y grandes porciones de Linux mismo están escritos en ellos. Por eso no es sorprendente que haya un shell – el C Shell o Csh – que utiliza el modelo de sintaxis de C. Si eres fluido en C, este shell te resultará natural.

Sin embargo, el shell Csh tenía bastantes errores y no muchas características. Por eso el shell Tcsh llegó a la escena. Tcsh solucionó la mayoría de los errores y agregó nuevas características, como la finalización de comandos, control de trabajos, corrección ortográfica, etc. Desafortunadamente, Tcsh y Bash son muy diferentes, lo que significa que no puedes ejecutar scripts de Bash en Tcsh y viceversa.
También lee: ¿Qué es Log4Shell y cómo proteger tu sistema Linux contra ello?
4. ksh (o Korn Shell)
Ksh, o el Korn shell (nombrado así por su creador David Korn), fue introducido aproximadamente al mismo tiempo que Tcsh, pero a diferencia de Tcsh, es compatible con Sh y Bash. Fue un shell propietario de AT&T hasta 2000, y por eso no se volvió tan popular. Ksh agrega más características a Sh, como aritmética de punto flotante, control de trabajos, alias de comandos y finalización de comandos.

5. zsh (o Z Shell)
Los shells listados hasta ahora fueron creados principalmente en 1970. Las computadoras han avanzado mucho desde entonces, y esto también demanda nuevos shells. Uno de los nuevos shells populares es el Z shell, o Zsh. Fue creado por Paul Falstad en 1990.

Tiene las características de Bash y algunas más, como archivos de inicio, monitoreo de inicio/cierre de sesión, y características de programación integradas como bytecode, soporte para notación científica en la sintaxis, aritmética de punto flotante, cierre de comentarios, concepto, variables, funciones e índice de teclas. Si buscas un shell más avanzado, prueba el Z shell.
6. Fish
La búsqueda de shells más modernos no terminó con Fish. El nuevo siglo vio nuevos shells, como Fish (o Friendly Interactive Shell). Fue lanzado en 2005 y no se basa en el shell Sh. Su aspecto más distintivo es que tiene una sintaxis de línea de comandos única que está diseñada para ser más amigable para principiantes. También tiene algunas características interesantes, como sugerencias automáticas, selección con las teclas de flecha, soporte para el portapapeles X, 256 colores de terminal, etc.

La principal desventaja de Fish es que es muy diferente de Bash y otros shells basados en Bourne. Como resultado, no puedes portar código (y conocimiento) de Fish a Bash y Sh.
Entonces, ¿cuál shell es el mejor? Desafortunadamente, esta pregunta no puede ser respondida. Todos tienen sus ventajas y desventajas, y realmente depende de para qué lo necesites. Pero ahora que conoces los pros y los contras de cada uno de estos seis shells alternativos, te será más fácil decidir en qué situación deberías usar cada shell. Aunque, después de todo, hablando honestamente, esta elección es en gran medida una cuestión de preferencias personales: yo mismo me quedo con Bash, y estoy bien con eso. ¡Bash es el shell predeterminado por una razón, sabes!