🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Guía de puntos de control de compatibilidad para quienes migran de Bash a Zsh

En la serie de introducción a Zsh hasta ahora, hemos aprendido sobre el encanto de Zsh, su uso básico y cómo personalizarlo con Oh My Zsh. Muchos de ustedes probablemente hayan tomado la firme decisión de "¡Vale, de ahora en adelante usaré Zsh como mi shell principal!". ¡Esa decisión es fantástica!

Sin embargo, cuanto más tiempo lleves familiarizado con Bash, más probable es que al cambiar te asalten dudas sobre la compatibilidad, como "¿Seguirán funcionando los scripts de Bash que he estado usando?" o "¿Qué debo hacer con mis archivos de configuración?". Es una sensación parecida a la de mudarse de una casa en la que has vivido muchos años a un nuevo apartamento de alta tecnología y preocuparte por si tus muebles y electrodomésticos seguirán sirviendo.

No te preocupes. En la mayoría de los casos, la transición de Bash a Zsh es extremadamente fluida. En este artículo, hemos recopilado los puntos de control de compatibilidad más importantes para que puedas completar tu cambio a Zsh con total tranquilidad. ¡Leyendo esto, podrás evitar las "trampas" de la migración de antemano y empezar tu vida en tu nuevo entorno de shell con confianza!


¡El uso interactivo (uso diario) casi no presenta problemas!

En primer lugar, y lo más importante, en el uso interactivo de la terminal, es decir, en el trabajo diario de teclear comandos uno por uno, casi no hay grandes incompatibilidades entre Bash y Zsh.

Comandos básicos como ls, cd, cp, mv, rm funcionan exactamente de la misma manera. El comportamiento de las tuberías (|) y las redirecciones (>, >>) también es el mismo. De hecho, como aprendimos en el artículo anterior, con funciones mejoradas como el autocompletado y el historial, tu experiencia de uso diario debería ser mucho más cómoda con Zsh.


Puntos de control de compatibilidad de los scripts de shell

Donde hay que tener cuidado es principalmente al ejecutar scripts de shell. Vamos a repasar los puntos que podrían causar problemas al intentar ejecutar un script de Bash que hayas escrito o conseguido de algún sitio en un entorno Zsh.

Punto de control 1: Comprobar el shebang

Este es el punto más importante. La línea al principio de un archivo de script, #!/bin/bash, se llama "shebang". Es una instrucción clara para el sistema operativo que dice "por favor, ejecuta este script con Bash".

#!/bin/bash

# Este script se ejecutará con Bash, incluso si tu shell predeterminado es Zsh
echo "Hello from Bash!"

Mientras este shebang esté escrito correctamente, aunque tu shell predeterminado haya sido cambiado a Zsh, ese script será ejecutado correctamente por Bash. En otras palabras, la mayoría de los scripts de Bash del mundo funcionarán sin problemas en un entorno Zsh sin ninguna modificación.


Punto de control 2: Índices de los arrays

Como ya mencionamos en un artículo anterior, la incompatibilidad más famosa entre Bash y Zsh es el manejo de los índices de los arrays (números de elemento). Hay que tener cuidado con esto al escribir nuevos scripts en Zsh.

En Bash, el primer elemento es el 0.

# En el caso de Bash
my_array=("apple" "banana" "cherry")
echo ${my_array[0]}
# Salida: apple

Por otro lado, en Zsh, el primer elemento es el 1.

# En el caso de Zsh
my_array=("apple" "banana" "cherry")
echo $my_array[1]
# Salida: apple

Al reescribir un script de Bash para Zsh, por ejemplo, si no se tiene en cuenta esta diferencia, puede causar que se obtenga un elemento del array con un desfase de uno.


Punto de control 3: Migración de archivos de configuración (`.bashrc` -> `.zshrc`)

Cuando usabas Bash, es posible que hayas escrito tus propios alias y configuraciones de variables de entorno en archivos como .bash_profile o .bashrc. Al cambiar a Zsh, estas configuraciones no se transfieren automáticamente. Es necesario "mudar" la configuración al archivo de configuración de Zsh, ~/.zshrc.

Por ejemplo, supongamos que tenías la siguiente configuración en tu .bashrc:

# Ejemplo de configuración que estaba en .bashrc
alias ll='ls -alF'
alias g='git'

export EDITOR='vim'
export PATH="/usr/local/bin:$PATH"

Afortunadamente, la mayoría de estas configuraciones funcionarán simplemente copiándolas y pegándolas al final de tu archivo .zshrc. También puedes mudar la configuración de una vez con el siguiente comando.


cat ~/.bash_profile >> ~/.zshrc

Después de eso, ejecuta source ~/.zshrc o reinicia la terminal, y tus alias y configuraciones habituales también estarán activos en Zsh.


Resumen

Esta vez, hemos recopilado una lista de puntos de control de compatibilidad para aquellos que están considerando cambiar de Bash a Zsh. Con esto, ¿se han disipado tus temores sobre la migración?

Zsh es un shell para el desarrollador moderno, que mantiene la facilidad de uso de Bash y, al mismo tiempo, cuenta con muchas más funciones prácticas. Si entiendes algunas pequeñas diferencias, no hay razón para no cambiar. Con esto concluye nuestra serie de introducción a Zsh.

Con esta nueva "arma definitiva" que has adquirido en tus manos, ¡esperamos sinceramente que tu viaje en la creación web sea más cómodo, creativo y eficiente!