primo rilascio della shell a riga di comando , che combina le funzionalitΓ di Power Shell e delle shell unix classiche. Il codice Γ¨ scritto in Rust e con licenza MIT. Il progetto Γ¨ inizialmente sviluppato come multipiattaforma e supporta il funzionamento su Windows, macOS e Linux. Per estendere la funzionalitΓ possono essere utilizzati , con cui si interagisce tramite il protocollo JSON-RPC.
Nella shell viene applicato il sistema di pipe comune agli utenti Unix nel formato "comando|filtri|gestore output". Per impostazione predefinita, l'output Γ¨ formattato tramite il comando autoview, che utilizza un formato tabellare, ma Γ¨ possibile anche utilizzare comandi per visualizzare dati binari e informazioni in formato ad albero. Un punto di forza di nushell Γ¨ la possibilitΓ di manipolare dati strutturati.
La shell consente di strutturare l'output di vari comandi e il contenuto dei file, e applicare filtri arbitrari, che sono formattati utilizzando una sintassi unificata, senza la necessitΓ di studiare le opzioni della riga di comando di ciascun comando specifico. Ad esempio, nushell consente di utilizzare costrutti come "ls | where size > 10kb" e "ps | where cpu > 10", che porteranno all'output solo dei file piΓΉ grandi di 10Kb e dei processi che hanno consumato piΓΉ di 10 secondi di risorse CPU:
Per strutturare i dati viene utilizzata una serie di estensioni, che analizzano l'output di comandi specifici e tipi di file. Tali estensioni sono proposte per i comandi cd, ls, ps, cp, mkdir, mv, date, rm (per invocare i comandi nativi puΓ² essere utilizzato il prefisso "^", ad esempio, l'invocazione "^ls" porterΓ all'esecuzione dell'utilitΓ di sistema ls). Ci sono anche comandi specializzati, come open per visualizzare informazioni su un file selezionato in formato tabellare. Per i formati JSON, TOML e YAML Γ¨ supportata l'analisi automatica.
/home/jonathan/Source/nushell(master)> open Cargo.toml
ββββββ+ββββββ+ββββββ
dipendenze | dipendenze di sviluppo | pacchetto
ββββββ+ββββββ+ββββββ
[object Object] | [object Object] | [object Object]
ββββββ+ββββββ+ββββββ
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
ββββ-+βββββββββ-+βββ+βββ+ββ+βββ
autori | descrizione | edizione | licenza | nome | versione
ββββ-+βββββββββ-+βββ+βββ+ββ+βββ
[list List] | Una shell per l'era di GitHub | 2018 | MIT | nu | 0.2.0
ββββ-+βββββββββ-+βββ+βββ+ββ+βββ
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
Viene fornito un ampio set di istruzioni per filtrare dati strutturati, consentendo di escludere righe, ordinare per colonne, sommare dati, eseguire semplici calcoli, utilizzare contatori di valori, e convertire l'output in formati CSV, JSON, TOML e YAML. Per i dati non strutturati (testo) sono offerte istruzioni per suddividere in colonne e righe in base ai caratteri delimitatori.
Fonte: opennet.ru
