Se ha publicado la versión 3.2.0 del intérprete de comandos interactivo fish (friendly interactive shell), que se desarrolla como una alternativa más amigable al usuario en comparación con bash y zsh. Fish admite características como resaltado de sintaxis con detección automática de errores, sugerencias de entradas basadas en el historial de operaciones anteriores, autocompletado de opciones y comandos utilizando sus descripciones en las páginas man, fácil uso desde el principio sin necesidad de configuraciones adicionales, un lenguaje simplificado para escribir scripts, soporte para el portapapeles X11 y herramientas convenientes para buscar en el historial de operaciones realizadas. El código del proyecto se distribuye bajo la licencia GPLv2. Se han creado paquetes listos para Ubuntu, Debian, Fedora, openSUSE y RHEL.
Entre las novedades añadidas:
- Se ha añadido soporte para deshacer cambios (Undo y Redo) al editar la línea de comandos. Undo se activa mediante la combinación Ctrl+Z, y Redo mediante Alt+/.
- Los comandos integrados ahora procesan datos a medida que llegan, por ejemplo, la operación de reemplazo de cadenas empieza a mostrar la salida inmediatamente, sin esperar a que se reciban todos los datos de entrada. Además, los comandos integrados ahora se pueden utilizar en cadenas de comandos que transfieren datos a través de tuberías sin nombre, por ejemplo, «dmesg -w | string match ‘*usb*'».
- Si la ruta en el indicador de la línea de comandos no cabe en el ancho de la línea del terminal, ahora se trunca parcialmente en lugar de reemplazarse por «>».
- Se ha mejorado el autocompletado al pulsar Tab (para las opciones ambiguas, se muestra de inmediato una lista de reemplazos sin necesidad de pulsar Tab otra vez).
- Se ha añadido una nueva función auxiliar «fish_add_path» para agregar rutas a la variable de entorno $PATH, eliminando automáticamente duplicados.
- Se ha proporcionado una diagnosis de errores más clara al ejecutar el comando test.
- En la sintaxis «$x[$start..$end]» ahora se permite omitir los valores $start o $end, que por defecto se definen como 1 y -1. Por ejemplo, echo $var[..] es equivalente a $var[1..-1] y mostrará desde el primer hasta el último elemento.
- Se ha incrementado significativamente el rendimiento de muchas funciones. Se han ampliado las capacidades de las funciones de procesamiento de cadenas.
Fuente: opennet.ru
