El intérprete de línea de comandos ha sido desde tiempos inmemoriales un fiel aliado del administrador de redes, desarrollador u otro curioso de los sistemas de software. Pero para aquellos que se deciden a tomar estos caminos constituye un obstáculo significativo a vencer, aún mayor si la persona en cuestión es un poco impaciente y desea obtener resultados rápidos sin profundizar mucho en todas las características de una aplicación o comando. Si usted se encuentra dentro de ese grupo de personas, aquí le traigo algo que de seguro le ayudará a aumentar su productividad y le facilitará de sobre manera la vida.

Fish Shell es una herramienta similar a SH o Bash pero a diferencia de estos y según sus autores es más amigable al usuario y posee una mejor integración con el sistema. Veamos algunas de sus funcionalidades más interesantes.

Autocompletamiento:

No más Ctrl+R, en Fish esta característica se encuentra siempre habilitada y completa tanto comandos y sus argumentos como directorios. Probemos unos comandos, las combinaciones de tecla las pondré entre corchetes:

fish completion 1

Al presionar [flecha derecha del teclado] se completa con el comando más reciente que coincida con el criterio.

fish completion 2

Con las flechas arriba y abajo del teclado podremos navegar entre los diferentes comandos similares existentes en el historial.

Completamiento con páginas del manual:

Supongamos que vamos a cambiar los permisos de un fichero pero solo recordamos que el comando comenzaba con “ch”, pues lo escribimos y oprimimos [Tab].

fish completion man

Cuantos “man  ” nos ahorramos con esto?

Guiones más claros:

Es shell hereda la mayoría de las instrucciones de bash y sh pero elimina aquellas que de una manera u otra resultas desconcertantes. Lográndose un código similar a Pascal o Python (ni un “fi” o “esac” más).

switch (uname)
        case Linux
                echo Hi Tux!
        case Darwin
                echo Hi Hexley!
        case FreeBSD NetBSD DragonFly
                echo Hi Beastie!
        case '*'
                echo Hi, stranger!
end
> function say_hello
         echo Hello $argv
  end
> say_hello
Hello
> say_hello everybody!
Hello everybody!

Documentación:

Este post no pretende transformar al lector en un experto en Fish, pero esto no sería muy complejo ya que dicha herramienta cuenta con una excelente documentación que se distribuye junto con los binarios, solo debe ejecutar el comando help [solo help].

Y algo más:

Fish puede ser ejecutado tanto en Linux como en Windows o Mac y no requiere configuraciones adicionales una ves instalado. Además posee soporte VGA permitiendo representar tus comandos en unos asombrosos 256 colores diferentes.

Instalación:

Debian, Ubuntu, Nova y primos otros familiares:

sudo apt-get install Fish

OpenSuse:

zypper install fish

Establecerlo como shell predeterminado del usuario:

chsh  -s /usr/bin/fish