c't 5/2024
S. 147
Praxis
Elvish-Shell
Bild: KI Midjourney

Fabelhafte Shell

„Elvish“ ist eine mächtige, POSIX-inkompatible Shell

Die Shell Elvish hält sich nicht an althergebrachte Standards. So kann man zwar schöner skripten, muss sich aber umgewöhnen und verliert Kompatibilität.

Von Sylvester Tremmel

Shells, die (mehr oder weniger) POSIX-kompatibel sind, bilden eine etablierte Basis für Skripte, die sich dafür mit allerhand aus der Zeit gefallenen Konzepten herumschlagen müssen. Elvish dagegen hält sich nicht an den POSIX-Standard und bietet dafür aber eine deutlich modernere Skripting-Umgebung. Zu den Pluspunkten gehören typisierte Werte, Funktionen als „first-class members“, die beispielsweise in Variablen herumgereicht werden können, und vor allem Pipelines, die sowohl klassisch Binärdaten als auch ebenjene typisierten Werte transportieren.

Indem durch so eine Pipeline Zeichenketten, Zahlen und dergleichen als einzelne, logisch getrennte Werte fließen, umgeht Elvish das Shell-typische und fehleranfällige Basteln mit Leerzeichen, Zeilenumbrüchen, Null-Bytes, Spezialvariablen wie $IFS und so weiter. Trotzdem erinnert die Syntax an herkömmliche Shellskripte, sodass man sich schnell zu Hause fühlt:

Kommentieren