lëshimi i parë i shell-it të komandës , duke kombinuar mundësitë e Power Shell dhe shell-eve klasike unix. Kodi është shkruar në gjuhën Rust dhe në përputhje me licencën MIT. Projekti zhvillohet fillimisht si një platformë e kryqëzuar dhe mbështet funksionimin në Windows, macOS dhe Linux. Për të zgjeruar funksionalitetin mund të përdoren , të cilat ndërveprojnë përmes protokollit JSON-RPC.
Në shell aplikohet sistemi i zakontë për përdoruesit e Unix, i kanaleve në formatin "komanda|filtrat|trajtesa e daljes". Nga e drejta, dalja paraqitet përmes komandës autoview, e cila përdor format tabelar, por është e mundur edhe përdorimi i komandave për shfaqjen e të dhënave binar dhe informacionit në një paraqitje me strukturë druri. Një pikë e fortë e nushell është mundësia e manipulimit të të dhënave të strukturuara.
Shell-i lejon të strukturojë daljen e komandave të ndryshme dhe përmbajtjen e skedarëve, dhe të aplikoni filtra të rastësishëm, të cilat paraqiten duke përdorur një sintaksë të unifikuar, e cila nuk kërkon mësimin e opsioneve të linjës së komandës për çdo komandë specifike. Për shembull, nushell lejon përdorimin e konstruktimeve të tilla si "ls | where size > 10kb" dhe "ps | where cpu > 10", të cilat do të shkaktojnë daljen vetëm e skedarëve me më shumë se 10Kb dhe proceseve që kanë shpenzuar më shumë se 10 sekonda burime CPU:
Për strukturimin e të dhënave aplikohet një sërë shtresash, të cilat interpretojnë daljen e komandave të veçanta dhe të llojeve të skedarëve. Këto shtesa janë ofruar për komandat cd, ls, ps, cp, mkdir, mv, date, rm (për thirrjen e komandave natyrore mund të përdoret prefiksi "^", për shembull thirrja "^ls" do të çojë në ekzekutimin e utilitarit sistemik ls). Ka edhe komanda të specializuara, si open për të shfaqur informacionin mbi një skedar të zgjedhur në format tabelar. Për formatet JSON, TOML dhe YAML mbështetet analizë automatike.
/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] | Një shell për epokën e GitHub | 2018 | MIT | nu | 0.2.0
ââââ-+âââââââââ-+âââ+âââ+ââ+âââ
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
Ofron një gamë të gjerë instruksionesh për filtrimin e të dhënave të strukturuara, të cilat lejojnë përjashtimin e rreshtave, renditjen sipas kolonave, përmbledhjen e të dhënave, kryerjen e llogaritjeve të thjeshta, përdorimin e numëruesve të vlerave, dhe kthimin e daljes në formate CSV, JSON, TOML dhe YAML. Për të dhënat jo-strukturore (teksti) ofrohen instruksione për ndarjen në kolonat dhe rreshtat sipas simboleve ndarëse.
Burimi: opennet.ru
