A fost prezentată o nouă comandă shell nushell

Publicat prima versiune a shell-ului de comandă nushell, care combină capabilitățile Power Shell cu shell-urile unix clasice. Codul este scris în Rust și se răspândește sub licența MIT. Proiectul este dezvoltat inițial ca o soluție multiplatformă și suportă funcționarea pe Windows, macOS și Linux. Funcționalitățile pot fi extinse utilizând pluginuri, cu care se interacționează prin protocolul JSON-RPC.

În shell se folosește sistemul de tuburi cunoscut de utilizatorii Unix în formatul „comandă|filtre|handler de ieșire”. Implicit, ieșirea este formatată cu comanda autoview, care utilizează un format tabelar, dar este posibilă și utilizarea comenzilor pentru a afișa date binare și informații într-o formă ierarhică. Un atu al nushell este posibilitatea de manipulare a datelor structurate.

Shell-ul permite structurarea ieșirii diferitelor comenzi și conținutul fișierelor, precum și aplicarea de filtre arbitrare, care sunt formulate folosind o sintaxă unificată, care nu necesită cunoașterea opțiunilor liniei de comandă pentru fiecare comandă specifică. De exemplu, nushell permite utilizarea unor construcții, cum ar fi „ls | where size > 10kb” și „ps | where cpu > 10”, care vor produce doar lista fișierelor care au o dimensiune mai mare de 10Kb și procesele care au consumat mai mult de 10 secunde de resurse CPU:

A fost prezentată o nouă comandă shell nushell

A fost prezentată o nouă comandă shell nushell

Pentru structurarea datelor se utilizează o serie de extensii, care analizează ieșirea comenzilor specifice și a tipurilor de fișiere. Astfel de extensii sunt propuse pentru comenzile cd, ls, ps, cp, mkdir, mv, date, rm (pentru a apela comenzile native poate fi folosit prefixul „^”, de exemplu, apelul „^ls” va lansa utilitarul de sistem ls). Există și comenzi specializate, cum ar fi open pentru a afișa informații despre un fișier selectat într-un format tabelar. Pentru formatele JSON, TOML și YAML suportul este asigurat prin analiză automată.

/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

————-+—————————-+———+———+——+———
autori | descriere | ediție | licență | nume | versiune
————-+—————————-+———+———+——+———
[list List] | Un shell pentru era GitHub | 2018 | MIT | nu | 0.2.0
————-+—————————-+———+———+——+———

/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it

0.2.0

Se oferă un set extins de instrucțiuni pentru filtrarea datelor structurale, permițând selectarea rândurilor, sortarea pe coloane, sumarea datelor, efectuarea de calcule simple, utilizarea contorilor de valori și transformarea ieșirii în formate CSV, JSON, TOML și YAML. Pentru datele nestructurate (text), sunt propuse instrucțiuni pentru fragmentarea în coloane și rânduri pe baza caracterelor delimitatoare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster