prvý vydanie príkazového shellu , ktorý kombinuje možnosti Power Shell a klasických unix shell. Kód je napísaný v jazyku Rust a je pod licenciou MIT. Projekt sa od začiatku vyvíja ako multiplatformový a podporuje prácu v systémoch Windows, macOS a Linux. Pre rozšírenie funkčnosti môžu byť používané , pričom interakcia s nimi prebieha prostredníctvom protokolu JSON-RPC.
V shelli sa aplikuje používateľom známy systém potrubí v tvare „príkaz|filtre|spracovanie výstupu“. Predvolene sa výstup formátuje pomocou príkazu autoview, ktorý používa tabuľkový formát, ale je možné zároveň použiť príkazy na zobrazenie binárnych dát a informácií v stromovej štruktúre. Silnou stránkou nushell je možnosť manipulácie so štruktúrovanými dátami.
Shell umožňuje štruktúrovanie výstupu rôznych príkazov a obsahu súborov a aplikáciu ľubovoľných filtrov, ktoré sú formátované pomocou unifikovanej syntaxe, ktorá si nevyžaduje štúdium možností príkazového riadka každého konkrétneho príkazu. Napríklad, nushell umožňuje používanie takých príkazov ako „ls | where size > 10kb“ a „ps | where cpu > 10“, ktoré povedú k výstupu len súborov väčších ako 10Kb a procesov, ktoré spotrebovali viac ako 10 sekúnd CPU:
Na štruktúrovanie dát sa používa niekoľko nadstavieb, ktoré analyzujú výstup konkrétnych príkazov a typov súborov. Takéto nadstavby sú navrhnuté pre príkazy cd, ls, ps, cp, mkdir, mv, date, rm (na vyvolanie natívnych príkazov môže byť použitý prefix „^“, napríklad vyvolanie „^ls“ povedie k spusteniu systémového nástroja ls). Existujú aj špecializované príkazy, ako open na zobrazenie informácií o vybranom súbore v tabuľkovom formáte. Pre formáty JSON, TOML a YAML je podporované automatické parsovanie.
/home/jonathan/Source/nushell(master)> open Cargo.toml
——————+——————+——————
závislosti | dev-závislosti | balík
——————+——————+——————
[object Object] | [object Object] | [object Object]
——————+——————+——————
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
————-+—————————-+———+———+——+———
autori | opis | edícia | licencia | názov | verzia
————-+—————————-+———+———+——+———
[list List] | Shell pre éru GitHub | 2018 | MIT | nu | 0.2.0
————-+—————————-+———+———+——+———
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
Poskytuje sa rozsiahly súbor pokynov na filtrovanie štruktúrovaných údajov, čo umožňuje vyraďovanie riadkov, triedenie podľa stĺpcov, sumarizáciu údajov, vykonávanie jednoduchých výpočtov, používanie čítačov hodnôt a prevod výstupu do formátov CSV, JSON, TOML a YAML. Pre štruktúrované údaje (text) sú k dispozícii pokyny na rozdelenie na stĺpce a riadky na základe oddelovacích znakov.
Zdroj: opennet.ru
