primer lanzamiento del shell de comandos , que combina las capacidades de Power Shell y de los clásicos shells de unix. El código está escrito en Rust y con licencia MIT. El proyecto se desarrolla inicialmente como multiplataforma y soporta el funcionamiento en Windows, macOS y Linux. Se pueden utilizar , cuya interacción se realiza a través del protocolo JSON-RPC.
En el shell se aplica un sistema de tuberías familiar para los usuarios de Unix en el formato «comando|filtros|procesador de salida». Por defecto, la salida se presenta utilizando el comando autoview, que usa un formato tabular, pero también es posible usar comandos para mostrar datos binarios e información en una representación jerárquica. Un punto fuerte de nushell es la capacidad de manipular datos estructurados.
El shell permite estructurar la salida de varios comandos y el contenido de archivos, y aplicar filtros arbitrarios que se expresan utilizando una sintaxis unificada, que no requiere aprender las opciones de línea de comandos de cada comando específico. Por ejemplo, nushell permite usar construcciones como «ls | where size > 10kb» y «ps | where cpu > 10», que llevarán a mostrar solo archivos de más de 10Kb y procesos que han consumido más de 10 segundos de recursos de CPU:
Para estructurar los datos, se utiliza una serie de complementos que analizan las salidas de comandos y tipos de archivos específicos. Tales complementos están disponibles para los comandos cd, ls, ps, cp, mkdir, mv, date, rm (para invocar los comandos nativos se puede usar el prefijo «^», por ejemplo, invocar «^ls» ejecutará la utilidad del sistema ls). También hay comandos especializados, como open para mostrar información sobre un archivo seleccionado en formato tabular. Para los formatos JSON, TOML y YAML, se admite el análisis automático.
/home/jonathan/Source/nushell(master)> open Cargo.toml
——————+——————+——————
dependencies | dev-dependencies | package
——————+——————+——————
[object Object] | [object Object] | [object Object]
——————+——————+——————
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
————-+—————————-+———+———+——+———
authors | description | edition | license | name | version
————-+—————————-+———+———+——+———
[list List] | Un shell para la era de GitHub | 2018 | MIT | nu | 0.2.0
————-+—————————-+———+———+——+———
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
Se proporciona un amplio conjunto de instrucciones para filtrar datos estructurados, permitiendo eliminar filas, ordenar por columnas, sumar datos, realizar cálculos simples, usar contadores de valores y convertir la salida en formatos CSV, JSON, TOML y YAML. Para datos no estructurados (texto), se ofrecen instrucciones para dividir en columnas y filas basadas en caracteres delimitadores.
Fuente: opennet.ru
