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

¿Qué es Fish Shell? Un shell amigable que impresionará incluso a los principiantes 🐠

¿Te intimida la "pantalla negra" (conocida como terminal o consola)? Como creador web, seguro que a menudo tienes que escribir comandos para operaciones de Git o tareas de compilación, ¿verdad?

"No consigo memorizar los comandos...", "Cometo errores de tipeo constantemente...", "La configuración es demasiado complicada y me rendí..."

Si te sientes identificado, tienes que probar el "Fish Shell". Fish es la abreviatura de "Friendly Interactive Shell" (Shell Interactivo y Amigable) y, como su nombre indica, es un shell súper amigable, perfecto para principiantes. En este artículo, dejaremos de lado lo complicado y nos centraremos en que experimentes el poder de Fish ¡simplemente copiando y pegando!


🚀 ¡Lo increíble de Fish Shell! 3 características asombrosas

Fish Shell tiene muchas características geniales, pero aquí te presentamos tres de las principales que seguramente impresionarán a los principiantes.

1. ¿Predicción del futuro? "Autosugerencias" (Completado del historial de comandos)

La característica más destacada de Fish Shell son sus autosugerencias. Recuerda los comandos que has escrito en el pasado y, con solo teclear unos pocos caracteres, te sugiere lo que podrías querer escribir en un texto gris claro. Si la sugerencia es correcta, solo tienes que pulsar la tecla (flecha derecha) o Ctrl+F para aceptarla. ¡Se acabó el volver a escribir comandos largos!

Por ejemplo, digamos que has escrito previamente el comando `git switch feature/new-design`. La próxima vez que escribas `git s`...

$ git switch feature/new-design

De esta forma, te sugiere automáticamente el resto del comando. ¡Solo con esta función, te garantizamos que tu productividad en la terminal mejorará drásticamente!


2. ¡Errores a la vista! "Resaltado de sintaxis"

Los errores al teclear comandos son una de las principales causas de problemas. Fish Shell colorea tus comandos en tiempo real para mostrarte si son válidos.

Por ejemplo, un comando existente como `git` se muestra en cian.

$ git

Sin embargo, si escribes un comando que no existe como `gitt`, se pone en rojo. Esto te permite darte cuenta del error de tipeo incluso antes de ejecutarlo.

$ gitt

3. ¡Sin archivos de configuración! Personalización fácil desde el navegador web

Cuando piensas en personalizar un shell, probablemente te imaginas editando archivos de configuración complejos como `~/.bashrc`. Con Fish Shell, no tienes que preocuparte por eso. Simplemente ejecuta el siguiente comando.

$ fish_config

Al ejecutar este comando, se abrirá automáticamente tu navegador web, permitiéndote personalizar fácilmente los esquemas de colores y la apariencia de tu prompt (el texto que aparece mientras esperas un comando) con solo unos clics y viendo una vista previa en tiempo real. Incluso si no te gusta la pantalla negra, puedes crear de forma intuitiva un entorno a tu gusto.


💻 ¡Pruébalo! Operaciones básicas de Fish Shell

Ahora, probemos algunos comandos reales de Fish. Cópialos y pégalos en tu terminal para ver cómo funcionan.

Imprimir texto: `echo`

Primero, el comando básico `echo`. Imprime la cadena de texto especificada en la pantalla. Es prácticamente igual que en otros shells.

$ echo "Hola, Fish Shell!"
Hola, Fish Shell!

Usar variables: `set`

Para manejar variables en Fish Shell, se usa el comando `set`. No se utiliza el signo `=` (igual). Separar con un espacio es el estilo de Fish.

$ set nombre "Juan Pérez"

Para comprobar el contenido de una variable, usa `echo` con el prefijo `$`.

$ echo $nombre
Juan Pérez

Bucles: El bucle `for`

El bucle `for` de Fish tiene una sintaxis muy intuitiva y legible en comparación con otros shells.

Por ejemplo, vamos a mostrar las cadenas de texto de `item-1` a `item-3` una por una.

$ for item in item-1 item-2 item-3
    echo $item
  end
item-1
item-2
item-3

También puedes usar la salida de un comando para el bucle, como con `(seq 1 3)`. Este comando genera números del 1 al 3.

$ for i in (seq 1 3)
    echo "Número: $i"
  end
Número: 1
Número: 2
Número: 3

Crear una función simple: `function`

Puedes agrupar una serie de comandos de uso frecuente en una función. Aquí, vamos a crear una función llamada `hola` que dé un saludo.

$ function hola
    echo "¡Hola, $argv!"
  end

Ahora has creado un nuevo comando llamado `hola`. `$argv` es una variable especial que contiene los argumentos (en este caso, un nombre) pasados a la función.

Ejecutemos la función que acabamos de crear.

$ hola "Mundo"
¡Hola, Mundo!

💡 ¡Un poco más práctico! Usos avanzados

Más potente que los alias: El comando `abbr`

`abbr` (abreviatura de "abbreviation") te permite expandir palabras clave cortas en comandos largos. Es similar a un alias, pero la característica clave de `abbr` es que después de escribirlo y pulsar Espacio o Intro, se expande al comando completo en el acto. Esto te permite confirmar lo que se va a ejecutar de antemano.

Vamos a configurar un atajo `gco` para el comando `git checkout`, que es muy utilizado por los creadores web.

$ abbr --add gco "git checkout"

Ahora, cuando escribas `gco` en la terminal y pulses espacio, se expandirá instantáneamente a `git checkout`. ¡Esto reduce la cantidad de texto que tienes que escribir y hace que todo sea mucho más cómodo!


⚠️ ¡Atención! Diferencias con bash

Fish es excelente, pero tiene algunas diferencias con el shell `bash`, que es el estándar en muchos sistemas Linux y macOS. Debes tener especial cuidado al copiar y pegar comandos de otros sitios web.

1. Cómo escribir AND (&&)

Para ejecutar varios comandos seguidos, bash usa `&&`, pero Fish usa `; and`.

Incorrecto (estilo bash)

$ mkdir new_dir && cd new_dir

Correcto (estilo Fish)

$ mkdir new_dir; and cd new_dir

2. Cómo establecer variables de entorno

El método para establecer variables de entorno, como para añadir al PATH, también es diferente. Bash usa `export`, mientras que Fish usa el comando `set` con la opción `-x` (export).

Incorrecto (estilo bash)

$ export MY_VARIABLE="some_value"

Correcto (estilo Fish)

$ set -x MY_VARIABLE "some_value"

Siempre que recuerdes estas diferencias, rara vez tendrás problemas.


Resumen

¿Qué te ha parecido? Esperamos que hayas podido experimentar el encanto de Fish Shell, especialmente sus características amigables como las "autosugerencias" y el "resaltado de sintaxis", simplemente copiando y pegando.

Incluso si hasta ahora te han intimidado las operaciones en la terminal, estamos seguros de que al usar Fish Shell pensarás: "¡Quiero usar esto más!". Cuando las operaciones de comandos se vuelven cómodas, tu eficiencia de desarrollo aumenta drásticamente.

Si te has interesado en Fish Shell después de leer este artículo, ¡pasa al siguiente para instalarlo e incorporarlo a tu entorno de desarrollo!


Siguiente paso ▶ Cómo instalar y configurar Fish (Linux / macOS)