El libro de bash que los domina a todos

Un nuevo libro sobre Bash y la línea de comandos provoca una reflexión más amplia sobre cuán a fondo conviene aprender scripting de shell frente a depender de herramientas como GPT, Stack Overflow o lenguajes de nivel superior. Los comentaristas comparan Bash con alternativas como PowerShell, Nushell, zsh y POSIX sh, ponderando portabilidad, legibilidad, sistemas de ayuda y encaje en el ecosistema, especialmente para flujos de trabajo en Linux frente a Windows. Muchos recomiendan recursos clásicos (páginas man/info, guías de Wooledge, ShellCheck, TLDP) y subrayan que entender los fundamentos de Unix suele importar más que dominar cada rincón de la compleja sintaxis de Bash.

Bash frente a otros shells (PowerShell, nushell, zsh, POSIX)

  • Algunos sostienen que cualquiera a quien le “guste bash” debería estudiar PowerShell para ver una mejor ayuda, descubrimiento y manejo de datos estructurados; otros encuentran PowerShell demasiado verboso, inconsistente, centrado en Windows/.NET y poco útil en flotas Linux.
  • Quienes lo apoyan destacan los comandos estandarizados verbo–sustantivo de PowerShell, su autocompletado sólido, la ayuda integrada y su estrecha integración con .NET, especialmente para scripting complejo y manipulación de objetos/JSON/XML.
  • Los críticos enfatizan la ubicuidad de bash en Unix, la disponibilidad de herramientas GNU y el núcleo pequeño/eficiente en memoria (frente a la VM de PowerShell). Ven PowerShell y nushell como mundos de objetos “interior-first”, frente al modelo de bash de texto y herramientas “exterior-first”.
  • Se elogia a nushell por ser más amigable con Unix y menos atado a .NET, pero aún no es lo bastante mainstream para uso en equipo.
  • Algunos abogan por apuntar al shell POSIX (subconjunto de dash/ksh88) para portabilidad, y luego añadir funciones de bash/zsh según se necesite; otros se conforman con un “subconjunto sensato” de bash más zsh como shell interactivo.

Aprender Bash: libros, manuales y guías

  • El libro recomendado es bien recibido como algo práctico, pero varios dicen que la referencia definitiva sigue siendo man bash / info bash, pese a ser larga, seca y con pocos ejemplos.
  • Algunos cuentan que han usado bash productivamente durante años sin leer el manual; otros dicen que revisar por encima de vez en cuando toda la página de manual revela funciones potentes y comportamientos sutiles.
  • El manual en línea de bash de GNU, Bash Guide/FAQ/Pitfalls de Wooledge y las guías de bash para principiantes y avanzados de TLDP se citan como recursos sólidos para aprender.
  • Un punto de vista: el objetivo real es aprender Unix (procesos, archivos, herencia de C), no solo “aprender bash”.

LLMs (GPT) y el uso de Bash

  • Varios comentaristas dicen que GPT ha “revolucionado” su uso de bash: generar rápidamente one-liners o explicar comandos complejos más rápido que los manuales o la búsqueda.
  • Otros advierten sobre comandos alucinados o sutilmente incorrectos, especialmente los destructivos (rm, mv, DROP de SQL). Consenso: tratar la salida de GPT como fragmentos no confiables de StackOverflow: revisarlos y probarlos.
  • El debate se centra en la destreza frente a las herramientas: algunos temen que depender demasiado frene el crecimiento de habilidades; otros sostienen que el tiempo ahorrado permite aprender más dominios.

Archivos de configuración de Bash

  • Se ofrece una explicación clara:
    • Login vs no-login; shells interactivos vs no interactivos.
    • ~/.bash_profile (o ~/.profile) para shells de login, ~/.bashrc para shells interactivos no de login; en muchos sistemas simplemente se hace source de ~/.bashrc desde ~/.bash_profile.
  • Algunas peculiaridades de distribuciones (por ejemplo, la carga cruzada de archivos) causan confusión.

Miscelánea

  • Discusión de las cubiertas con animales al estilo O’Reilly y sus parodias.
  • Se señala que el enlace de Amazon del artículo es un enlace de afiliado, algo que algunos consideran que conviene tener en cuenta.