erste Ausgabe der Kommandozeile , die die Funktionen von Power Shell und klassischen Unix-Shells kombiniert. Der Code ist in Rust geschrieben und steht unter der MIT-Lizenz. Das Projekt wird ursprĂŒnglich als plattformĂŒbergreifend entwickelt und unterstĂŒtzt die Nutzung unter Windows, macOS und Linux. Zur Erweiterung der FunktionalitĂ€t können , deren Interaktion ĂŒber das JSON-RPC-Protokoll erfolgt.
In der Shell wird das fĂŒr Unix-Nutzer gewohnte Pipelinesystem mit dem Format âBefehl|Filter|Ausgabehandlerâ verwendet. StandardmĂ€Ăig erfolgt die Ausgabe mit dem Befehl autoview, der ein Tabellenformat verwendet, es können jedoch auch Befehle zur Anzeige binĂ€rer Daten und Informationen in baumartiger Darstellung angewendet werden. Eine StĂ€rke von nushell liegt in der Möglichkeit, strukturierte Daten zu manipulieren.
Die Shell ermöglicht es, die Ausgaben verschiedener Befehle und den Inhalt von Dateien zu strukturieren und beliebige Filter anzuwenden, die mit einer einheitlichen Syntax gestaltet sind, welche die Einarbeitung in die Kommandozeilenoptionen jedes einzelnen Befehls ĂŒberflĂŒssig macht. Zum Beispiel erlaubt es nushell, Konstruktionen wie âls | where size > 10kbâ und âps | where cpu > 10â zu verwenden, die nur Dateien mit einer GröĂe von mehr als 10Kb und Prozesse, die mehr als 10 Sekunden CPU-Ressourcen verwendet haben, ausgeben werden:
Zur Strukturierung der Daten werden eine Reihe von Erweiterungen verwendet, die die Ausgaben bestimmter Befehle und Dateitypen analysieren. Solche Erweiterungen sind fĂŒr die Befehle cd, ls, ps, cp, mkdir, mv, date, rm vorgeschlagen (um die nativen Befehle aufzurufen, kann das PrĂ€fix â^â verwendet werden, beispielsweise fĂŒhrt der Befehl â^lsâ zum Start der systemeigenen Utility ls). Es gibt auch spezialisierte Befehle wie open, die Informationen ĂŒber eine gewĂ€hlte Datei in tabellarischer Form anzeigen. FĂŒr die Formate JSON, TOML und YAML wird eine automatische Analyse unterstĂŒtzt.
/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] | Eine Shell fĂŒr die GitHub-Ăra | 2018 | MIT | nu | 0.2.0
ââââ-+âââââââââ-+âââ+âââ+ââ+âââ
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
Es wird eine umfangreiche Sammlung von Anweisungen zur Filterung strukturierter Daten bereitgestellt, die es ermöglichen, Zeilen herauszufiltern, nach Spalten zu sortieren, Daten zu summieren, einfache Berechnungen durchzufĂŒhren, WertzĂ€hler zu verwenden, die Ausgabe in die Formate CSV, JSON, TOML und YAML zu konvertieren. FĂŒr unstrukturierte Daten (Text) werden Anweisungen zum Aufteilen in Spalten und Zeilen basierend auf Trennzeichen angeboten.
Quelle: opennet.ru
