Cuando 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:
- 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.
- 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.
- Uso de negrita y subrayado para remarcar rutas correctas, ficheros importantes (imágenes, multimedia, directorios, ejecutables), etc
- 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).
- 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.