Nushell (Kurzform nu) ist eine moderne, in Rust geschriebene Shell, die mit strukturierten Daten statt rohen Text-Streams arbeitet. Statt Zeichenketten durch die Pipeline zu schieben, transportiert sie typisierte Werte – Listen, Records und Tabellen. Ausgabe und Weiterverarbeitung bleiben damit konsistent, ohne aufwendiges Parsen wie bei klassischen Shells.
Erste Schritte
Installation und Start sind unkompliziert, danach liefert bereits ls eine echte Tabelle:
nu
> ls | where size > 1kb | sort-by name
Strukturierte Formate liest open direkt: open config.json | get server.port. Konvertiert wird mit from json/from csv/from yaml und to json.
Die wichtigsten Nushell-Kommandos
ls,open,get,select– Daten lesen und Spalten wählenwhere,sort-by,group-by– filtern, sortieren, gruppiereneach,par-each– Zeilen parallel verarbeiteninto– Typkonvertierungen (into int,into datetime)str,math,path– String-, Zahlen- und Pfadoperationendescribe– Typ eines Werts anzeigenlet/mut,$env,$nu– Variablen und Umgebung
Konfiguration
Die Startdateien liegen unter ~/.config/nushell/config.nu und env.nu; Aliase, Keybindings und Prompt werden dort deklariert. Auch klassische Unix-Befehle lassen sich weiterhin aufrufen – Nushell versteht deren Textausgabe, wandelt sie aber bei bekannten Kommandos in Tabellen um.
Praxis-Tipps
- Für Systemadministration und Datenauswertung spart Nushell das Zusammensetzen von grep/awk-Ketten
- Skripte enden auf
.nu, Ausführung mitnu skript.nuodernu -c '<befehle>' - Die Inspiration kommt von der PowerShell – wer PowerShell gewohnt ist, findet sich schnell zurecht
Verwandte Grundlagen: PowerShell, Bash, Python, grep, SSH/SCP/rsync, YAML, TOML und JSON. Für regelbasierte XML-Transformationen ist XSLT zuständig, interaktive Programme automatisiert Expect.