erste Ausgabe der Kommandozeile , die die FĂ€higkeiten von Power Shell und klassischen Unix-Shells kombiniert. Der Code ist in Rust geschrieben und unter der MIT-Lizenz veröffentlicht. Das Projekt wird ursprĂŒnglich plattformĂŒbergreifend entwickelt und unterstĂŒtzt Windows, macOS und Linux. Zur Erweiterung der FunktionalitĂ€t können verwendet werden, die ĂŒber das JSON-RPC-Protokoll interagieren.
In der Shell wird das vertraute Unix-Pipeline-System in der Form «Befehl|Filter|Ausgabe-Handler» verwendet. StandardmĂ€Ăig wird die Ausgabe mit dem Befehl autoview im Tabellenformat formatiert, jedoch können auch Befehle zur Anzeige von BinĂ€rdaten und Informationen in baumartiger Darstellung verwendet werden. Eine der StĂ€rken von nushell ist die Möglichkeit, mit strukturierten Daten zu arbeiten.
Die Shell ermöglicht es, die Ausgabe verschiedener Befehle und den Inhalt von Dateien zu strukturieren und beliebige Filter anzuwenden, die mit einer einheitlichen Syntax gestaltet sind, die keine eingehende Kenntnis der Befehlszeilenoptionen jedes einzelnen Befehls erfordert. Zum Beispiel erlaubt nushell Konstruktionen wie âls | where size > 10kbâ und âps | where cpu > 10â, die dazu fĂŒhren, dass nur Dateien mit einer GröĂe von mehr als 10 Kb und Prozesse angezeigt werden, die mehr als 10 Sekunden CPU-Ressourcen verbraucht haben.
Zur Strukturierung der Daten wird eine Reihe von Erweiterungen verwendet, die die Ausgabe spezifischer Befehle und Dateitypen analysieren. Solche Erweiterungen werden fĂŒr die Befehle cd, ls, ps, cp, mkdir, mv, date, rm angeboten (fĂŒr den Aufruf der nativen Befehle kann das PrĂ€fix â^â verwendet werden, beispielsweise bewirkt der Befehl â^lsâ, dass das systemeigene Dienstprogramm ls gestartet wird). Es gibt auch spezialisierte Befehle wie open, um Informationen ĂŒber eine ausgewĂ€hlte Datei in tabellarischer Form darzustellen. Formate wie JSON, TOML und YAML unterstĂŒtzen die automatische Analyse.
/home/jonathan/Source/nushell(master)> open Cargo.toml
ââââââ+ââââââ+ââââââ
AbhÀngigkeiten | Entwicklungs-AbhÀngigkeiten | Paket
ââââââ+ââââââ+ââââââ
[object Object] | [object Object] | [object Object]
ââââââ+ââââââ+ââââââ
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
ââââ-+âââââââââ-+âââ+âââ+ââ+âââ
Autoren | Beschreibung | Auflage | Lizenz | 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 steht eine umfangreiche Sammlung von Anweisungen zur VerfĂŒgung, die eine Filterung strukturierter Daten ermöglichen. Diese erlauben das Filtern von Zeilen, das Sortieren nach Spalten, das Summieren von Daten, einfache Berechnungen, das ZĂ€hlen von Werten sowie die Umwandlung der Ausgabe in die Formate CSV, JSON, TOML und YAML. FĂŒr unstrukturierte Daten (Text) gibt es Anweisungen zum Aufteilen in Spalten und Zeilen basierend auf Trennzeichen.
Quelle: opennet.ru
