Zsh vs Bash vs Fish: cuál shell vale la pena usar en 2026

Bash, Zsh o Fish: comparé compatibilidad, personalización y experiencia para ayudarte a elegir tu shell ideal en 2026.

Share
Zsh vs Bash vs Fish: cuál shell vale la pena usar en 2026
Photo by Caspar Camille Rubin / Unsplash

Si alguna vez abriste la terminal en tu Mac y te preguntaste "¿por qué dice zsh aquí y no bash como en los tutoriales viejos?", este post es para ti. Y si nunca te lo preguntaste, también — porque elegir shell no es solo nostalgia de nerd, tiene consecuencias reales en cómo se siente trabajar en la terminal todos los días.

Vamos a hablar de las tres opciones que realmente importan: Bash, Zsh y Fish.

¿Por qué importa esto?

El shell es el programa que interpreta lo que escribes en la terminal. Todos ejecutan comandos, todos navegan carpetas, todos corren scripts. La diferencia está en la experiencia diaria: qué tan bueno es el autocompletado, qué tan fácil es personalizar el prompt, y qué tanto tienes que pelear con la sintaxis cuando escribes algo más complejo que cd y ls.

Spoiler: si ya usas Oh My Zsh (como vimos en un post anterior), técnicamente ya elegiste bando. Pero vale la pena entender por qué, y si tiene sentido para ti.

La comparativa rápida

CaracterísticaBashZshFish
Viene instaladomacOS y muchas distros❌ normalmente
Compatibilidad scripts⭐⭐⭐⭐⭐⭐⭐⭐⭐☆⭐⭐☆☆☆
Personalización⭐⭐☆☆☆⭐⭐⭐⭐⭐⭐⭐⭐⭐☆
Experiencia por defecto⭐⭐☆☆☆⭐⭐⭐☆☆⭐⭐⭐⭐⭐
Ideal parascriptinguso diarioproductividad

Bash: el más tradicional, para bien y para mal

Bash es el shell más tradicional y durante décadas fue el estándar de facto en Linux y Unix. Si aprendiste terminal en un curso, en la universidad, o en un tutorial de hace más de cinco años, probablemente fue en Bash.

Lo bueno:

  • Está literalmente en todas partes. Todos los servidores Linux, todos los contenedores Docker, todos los sistemas CI/CD lo tienen preinstalado.
  • Es el estándar de facto para scripting. Si algún día escribes un script que debe correr en cualquier servidor del mundo, Bash es la apuesta segura.
  • No tienes que instalar nada ni aprender nada nuevo si ya lo conoces.

Lo no tan bueno:

  • La experiencia interactiva es básica. Autocompletado limitado, sin sugerencias mientras escribes, sin resaltado de sintaxis.
  • Personalizarlo bien requiere esfuerzo — no viene "bonito" de fábrica ni de cerca.
  • Apple dejó de usarlo como shell por defecto en macOS desde Catalina (2019). Apple no cambió por razones técnicas, sino porque Bash quedó bajo la licencia GPLv3 y Apple prefirió evitar adoptarla. Así que si tienes un Mac reciente, ya no es lo que corre cuando abres Terminal, aunque sigue instalado y disponible.

Zsh: el que ganó por defecto (literalmente)

Para la mayoría de usuarios, Zsh se siente como una evolución natural de Bash: mantiene una sintaxis muy parecida y añade muchas funciones enfocadas en la experiencia interactiva.

Lo bueno:

  • Es el shell por defecto en macOS desde 2019, así que probablemente ya lo estás usando sin haberlo decidido conscientemente.
  • El ecosistema de personalización es enorme: Oh My Zsh, Powerlevel10k, y cientos de plugins y temas que puedes instalar en minutos.
  • Autocompletado muy superior a Bash — tabulación inteligente, corrección de typos, historial compartido entre sesiones.
  • La curva de entrada es baja si vienes de Bash, porque la sintaxis básica es casi idéntica.

Lo no tan bueno:

  • Sin configuración extra, Zsh "pelado" no se ve muy distinto a Bash. Todo lo bueno viene de instalar cosas encima (que tampoco es tan grave, ya escribimos la guía).
  • Puede volverse lento si le metes demasiados plugins sin cuidado — algo que cualquiera que haya abierto una terminal y esperado tres segundos para ver el prompt conoce bien.
  • Fuera de macOS, no siempre viene preinstalado, así que en servidores todavía te vas a topar con Bash la mayoría de las veces.

Fish: el rebelde que hace las cosas distinto

Fish (Friendly Interactive Shell) tomó una decisión audaz: en lugar de ser compatible con Bash, decidió hacer las cosas a su manera desde cero, priorizando la experiencia de usuario por encima de la compatibilidad.

Lo bueno:

  • Todo lo que en Zsh necesitas plugins para conseguir, Fish lo trae de fábrica: autosugerencias mientras escribes, resaltado de sintaxis en tiempo real, autocompletado inteligente basado en el historial.
  • Tiene un sistema de configuración muy amigable: muchas opciones pueden ajustarse desde una interfaz web (fish_config) sin editar archivos manualmente. Es uno de sus diferenciadores más interesantes frente a Zsh y Bash.
  • Es, sin exagerar, el más agradable de usar desde el primer minuto sin configurar nada.
  • La documentación es excelente y pensada para gente que no quiere leer un manual de 40 páginas.

Lo no tan bueno:

  • No es compatible con la sintaxis de Bash/Zsh. Si copias un script de Stack Overflow, hay buenas probabilidades de que no funcione tal cual en Fish.
  • Esto significa que para scripting serio, muchos terminan usando Fish para uso interactivo diario, pero escribiendo scripts en Bash de todos modos.
  • Es menos común, así que encontrar ayuda específica a veces cuesta un poco más que con Zsh o Bash.

Entonces, ¿cuál elijo?

Mi regla mental:

  • Si usas macOS y no quieres pensar mucho en esto → quédate en Zsh. Ya es el default, tiene el ecosistema más grande, y con Oh My Zsh en diez minutos lo tienes viéndose y funcionando increíble.
  • Si trabajas mucho con servidores, Docker o scripts que deben correr en cualquier lado → necesitas conocer Bash sí o sí, aunque sea como shell secundario. No es opcional, es el idioma universal.
  • Si valoras la experiencia de uso por encima de todo y no te importa que algún script ocasional no funcione tal cual → prueba Fish. Es el que se siente menos "terminal de 1989" desde el día uno.

Yo uso Zsh como daily driver — con Oh My Zsh y un tema decente, se siente moderno sin sacrificar compatibilidad. Pero cuando tengo que escribir algo que va a vivir en un servidor o en un pipeline de CI, lo escribo pensando en Bash, porque ahí es donde realmente tiene que funcionar sin sorpresas.

Oh My Zsh: cómo convertir tu terminal aburrida en algo que dan ganas de abrir | CommandCat
Oh My Zsh transforma la terminal de Mac en una herramienta más poderosa y visualmente agradable. Guía completa para configurarla desde cero.

Preguntas frecuentes

¿Puedo tener los tres instalados?

Sí. Puedes tener Bash, Zsh y Fish instalados al mismo tiempo y cambiar entre ellos cuando quieras. Incluso puedes usar Fish como shell interactivo y seguir escribiendo scripts en Bash cuando necesites máxima compatibilidad.

La conclusión real

Al final, cambiar de shell no va a convertirte en mejor desarrollador de la noche a la mañana. Lo que sí puede hacer es que pases menos tiempo peleando con la terminal y más tiempo construyendo cosas. Y cuando abres la terminal decenas de veces al día, esos pequeños detalles terminan sumando mucho más de lo que parece.

Read more