Fish: el shell interactivo amigable

fish shellCuando empezé a usar sistemas operativos tipo-UNIX aluciné con Bash, realmente no tenía nada que ver con usar la linea de comandos en Windows (aunque yo en Windows nunca la usé demasiado, supongo que precisamente por ser poco amigable). Al poco de usar Bash descubrí podia usar otras opciones como zsh, ksh, tcsh pero ninguna me convenció demasiado.

Hasta hace un par de meses, que fué cuando descubrí al grandioso Fish (Friendly Interactive SHell). A diferencia de las otras que probé, esta sí se parecía mucho a Bash, o sea que no tuve que aprender NADA. Solo tuve que usarla durante un tiempo para ir descubriendo poco a poco sus ventajas, entre las cuales están:

  1. No solo autocompleta directorios, ficheros y comandos como Bash, ¡lo autocompleta todo! Por ejemplo: ssh te autocompleta con tus hosts conocidos o lugares donde conectaste en el pasado; el autocompletado de comandos incluye brebe descripción del ejecutable en cuestión; autocompletado de variables de entorno; autocompletado de las páginas man y help… y mucho más, y todo esto con paginación de los resultados de autocompletado.
  2. Uso y abuso de colores. El prompt consta de: usuario@host (en blanco) + directorio actual (en verde). Parece cansino pero te acostumbras a los pocos minutos. Cada tipo de fichero tiene su color, por ejemplo los directorios se en azul, los de texto (txt, pdf, rtf…) en violeta, los multimedia (imágenes, musica, video) en un violeta mas rosado, los binarios en verde, los enlaces blandos en azul, los enlazados en rojo, etc.
  3. Uso de negrita y subrayado para remarcar rutas correctas, ficheros importantes (imágenes, multimedia, directorios, ejecutables), etc
  4. Atención al error en tiempo real, si lo que estás escribiendo no es un comando (aún), lo marca en rojo, cuando pasa a ser algo coherente lo pinta de verde. Lo mismo se aplica a directorios o ficheros (aunque estos pasan a blanco).
  5. Ayuda en modo gráfico, por lo que si escribes help te sale un mensaje de “Help is being displayed in firefox” y efectivamente se abre Firefox (o el navegador que uses por defecto) y te muestra esta completísima ayuda.

Casi se me escapa decirlo, toda esta información que Fish añade (descripciones de los ejecutables, hosts conocidos, páginas man y help, etc) no es estática sinó que se busca en tiempo real. Por este motivo puede suponer un problema si se abusa de sus posibilidades en un ordenador antiguo.Por todo esto y mucho más que voy aprendiendo con el tiempo, prefiero Fish a Bash y cuando uso Bash noto que me falta algo.

Podéis ver algunas capturas de pantalla (y más información sobre Fish) en esta página. Para terminar solo decir que Fish no es perfecto, pero merece mucho la pena probarlo.

7 thoughts on “Fish: el shell interactivo amigable

  1. msardisco

    Te digo que prefiero mas una bash bien configurada, con colores y demas. igual seguramente, fue la primera impresión, la probare un poquito más.

    Espero no pasa de bash-adicto a fish-adicto

  2. otama

    Coño, pues la verdad es que no sabía de el. Miraré a ver qué tal está, y quién sabe, quizás le quede poco tiempo a bash en mi pecera ;)

  3. admin

    Facil!

    Abre una terminal y escribe:

    $ chsh

    Te pedirá la ruta hacia la nueva shell. Verás que tu actual ruta es /bin/bash, y lo cambias por /usr/bin/shell.

    Hay otra forma de hacerlo mas “a mano”… En el fichero /etc/passwd hay una línea para cada usuario del sistema con informacion como el nombre de usuario, ruta hacia su Home, número de usuario, número de grupo, etc y lo ultimo de la linia es la ruta hacia su intérprete de órdenes. Solo tienes que cambiar /bin/bash por /usr/bin/fish. Necesitarás permisos de administrador para hacerlo.

    Por ejemplo en mi /etc/passwd mi información es:

    xavi:x:1000:1000::/home/xavi:/bin/bash

    (como puedes ver no uso ‘fish’ por defecto jeje)

    Depende de la distribución supongo que tienes programas gráficos para cambiar estas cosas. Kuser es uno de estos programas y lo puedes instalar en cualquier distro, es un programa para KDE con el que puedes añadir/quitar usuarios del sistema, añadir/quitar grupos, y modifiar toda la informacion relacionada.

  4. Raist

    Uis , que me despiste , venga , muchas gracias por todo , añado un comentario en mi blog con el correspondiente link al tuyo sobre fish , gracias !

  5. Pingback: Fish , una shell para darle colorido a nuestra consola | Eternal Prisioner

Comments are closed.