botimi 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ën licencën MIT. Projekti është zhvilluar fillimisht si shumë-platformë dhe mbështet punën në Windows, macOS dhe Linux. Për të zgjeruar funksionalitetin mund të përdoren , me ndërveprime që realizohen përmes protokollit JSON-RPC.
Në shell përdoret sistemi i zakonshëm i tubave për përdoruesit e Unix në formatin "komanda|filtra|përpunuesi i daljes". Në mënyrë standarde, dalja paraqitet përmes komandës autoview, e cila përdor formatin tabelar, por gjithashtu është e mundur të përdoren komanda për të paraqitur të dhëna binare dhe informacione në formatin pemor. Një nga pikat e forta të nushell është mundësia për të manipuluar të dhënat e strukturuara.
Shell-i lejon që të strukturojë daljen e komanda të ndryshme dhe përmbajtjen e skedarëve, dhe të aplikojë filtra të rastësishëm, të cilat paraqiten duke përdorur një sintaksë të unifikuar, që nuk kërkon të studiohen opsionet e linjës së komandës për secilën komandë të veçantë. Për shembull, nushell lejon përdorimin e strukturave si "ls | where size > 10kb" dhe "ps | where cpu > 10", të cilat do të rezultojnë në daljen vetëm e skedarëve me madhësi mbi 10Kb dhe proceseve që kanë shpenzuar më shumë se 10 sekonda burimesh CPU:
Për strukturimin e të dhënave përdoren një sërë shtesash, të cilat analizojnë daljen e komanda specifike dhe llojeve të skedarëve. Shtesat e tilla ofrohen për komandat cd, ls, ps, cp, mkdir, mv, date, rm (për thirrjen e komandave të natyrshme mund të përdoret prefiksi "^", për shembull, thirrja "^ls" do të sjellë në ekzekutimin e utilitarit sistematik ls). Ka edhe komanda të specializuara, të tilla si open për të paraqitur informacion mbi një skedar të zgjedhur në mënyrë tabelare. Për formatet JSON, TOML dhe YAML mbështetet analizimi automatik.
/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ë instrukcionesh për filtrimin e të dhënave të strukturuara, duke lejuar përjashtimin e rreshtave, renditjen sipas kolonave, përllogaritjen e të dhënave, kryerjen e llogaritjeve të thjeshta, përdorimin e numëruesve të vlerave dhe konvertimin e daljeve në formate CSV, JSON, TOML dhe YAML. Për të dhënat e pa strukturuara (tekst), ofrohen udhëzime për ndarjen në kolona dhe rreshta mbi bazën e simboleve ndarëse.
Burimi: opennet.ru
