Eine neue Befehlszeilen-Shell nushell wurde vorgestellt

Veröffentlicht erste Ausgabe der Kommandozeile nushell, die die Funktionen von Power Shell und klassischen Unix-Shells kombiniert. Der Code ist in Rust geschrieben und wird verbreitet 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 erlauben Plugins, die Funktionen von K9s zu erweitern. Ich habe in der Praxis nur eines davon verwendet —, 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:

Eine neue Befehlszeilen-Shell nushell wurde vorgestellt

Eine neue Befehlszeilen-Shell nushell wurde vorgestellt

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

60GB SSD 8Gb DDR4