Shells en la práctica: Bash, Zsh y PowerShell sin confusiones

Aprende diferencias reales entre Bash, Zsh y PowerShell para elegir bien tu entorno y evitar comandos incompatibles.

La shell define sintaxis, autocompletado, variables y estilo de scripting.

Bash y Zsh comparten filosofía Unix; PowerShell trabaja con objetos y comandos propios.

Conocer la shell activa evita errores de copy/paste en tutoriales.

No existe shell universalmente mejor: depende de sistema, equipo y flujo de trabajo.

  • Diagnosticar primero te ahorra minutos (o horas) de frustración.
  • En Linux/macOS, lo normal es Bash o Zsh. En Windows moderno, PowerShell es muy común y cmd sigue existiendo por compatibilidad.
  • Muchos comandos que parecen 'de terminal' en realidad son de una shell concreta. Por ejemplo, `ls` puede comportarse diferente entre entornos.
  • Cuando trabajas en equipo, conviene documentar explícitamente la shell esperada en README o scripts de onboarding.
  • Sintaxis similar no significa comportamiento idéntico.

1) Identifica tu shell actual antes de ejecutar nada

Diagnosticar primero te ahorra minutos (o horas) de frustración.

En Linux/macOS, lo normal es Bash o Zsh. En Windows moderno, PowerShell es muy común y cmd sigue existiendo por compatibilidad.

Muchos comandos que parecen 'de terminal' en realidad son de una shell concreta. Por ejemplo, `ls` puede comportarse diferente entre entornos.

Cuando trabajas en equipo, conviene documentar explícitamente la shell esperada en README o scripts de onboarding.

2) Diferencias que impactan en tu día a día

Sintaxis similar no significa comportamiento idéntico.

3) Criterio profesional para elegir shell

La mejor shell es la que mejora tu flujo real con tu stack real.

Si trabajas sobre tooling Linux, Bash/Zsh suele ser la opción más natural. Si administras entornos Windows y Azure, PowerShell te da ventajas claras.

Puedes combinar: Windows Terminal + PowerShell para administración + WSL Bash para tareas de desarrollo web.

La clave es consistencia en equipo: define una base común y documenta variantes por sistema operativo.

  • Evalúa compatibilidad con scripts existentes.
  • Prioriza curva de aprendizaje del equipo.
  • Documenta setup mínimo reproducible.
  • Evita depender de alias personales no compartidos.
Terminal
02

Shells en la práctica: Bash, Zsh y PowerShell sin confusiones

Aprende diferencias reales entre Bash, Zsh y PowerShell para elegir bien tu entorno y evitar comandos incompatibles.

Código del tema: Comandos reproducibles y trazables

📘 Teoría

1) Identifica tu shell actual antes de ejecutar nada

Diagnosticar primero te ahorra minutos (o horas) de frustración.

1

En Linux/macOS, lo normal es Bash o Zsh. En Windows moderno, PowerShell es muy común y cmd sigue existiendo por compatibilidad.

2

Muchos comandos que parecen 'de terminal' en realidad son de una shell concreta. Por ejemplo, `ls` puede comportarse diferente entre entornos.

3

Cuando trabajas en equipo, conviene documentar explícitamente la shell esperada en README o scripts de onboarding.

Comprobar shell actual
# Linux/macOS
echo $SHELL

# PowerShell
$PSVersionTable.PSEdition
$PSVersionTable.PSVersion

2) Diferencias que impactan en tu día a día

Sintaxis similar no significa comportamiento idéntico.

1

Bash/Zsh: texto como flujo principal

Muy potentes en pipes, utilidades Unix y scripting clásico.

2

PowerShell: pipeline de objetos

Puedes filtrar propiedades estructuradas sin parsear texto manualmente.

3) Criterio profesional para elegir shell

La mejor shell es la que mejora tu flujo real con tu stack real.

Si trabajas sobre tooling Linux, Bash/Zsh suele ser la opción más natural. Si administras entornos Windows y Azure, PowerShell te da ventajas claras.

Puedes combinar: Windows Terminal + PowerShell para administración + WSL Bash para tareas de desarrollo web.

La clave es consistencia en equipo: define una base común y documenta variantes por sistema operativo.

  • Evalúa compatibilidad con scripts existentes.
  • Prioriza curva de aprendizaje del equipo.
  • Documenta setup mínimo reproducible.
  • Evita depender de alias personales no compartidos.

🧪 Aprende probando

Ejemplo Ejemplo guiado: comparación rápida de comandos Mismo objetivo (listar archivos ocultos) en Bash/Zsh y PowerShell.

🏁 Retos

Reto Reto: deja explícita tu shell en un script Escribe una línea de comentario inicial indicando shell y una comprobación de versión.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre Terminal.

Test de Terminal

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .