Paraqitur një shell të re komandash nushell

Publikuar botimi i parë i shell-it të komandës nushell, duke kombinuar mundësitë e Power Shell dhe shell-eve klasike unix. Kodi është shkruar në gjuhën Rust dhe shpërndahet 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 plugina, 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:

Paraqitur një shell të re komandash nushell

Paraqitur një shell të re komandash nushell

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

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster