Künstliche Intelligenz
fish 4.6.0: Shell mit besserer Emoji-Darstellung & Bash-Pipes
Die interaktive Unix-Shell fish kann ab Version 4.6.0 Prompt-Informationen direkt aus Umgebungsvariablen übernehmen, stellt Emoji im Terminal breiter dar und akzeptiert mit |& eine aus Bash vertraute Pipe-Schreibweise. fish richtet sich an Administratoren und Entwickler, die eine interaktive Shell mit gut lesbarer Syntax und vielen Komfortfunktionen bevorzugen. Anders als Bash oder Zsh priorisiert fish dies gegenüber strikter POSIX-Konformität.
Weiterlesen nach der Anzeige
Prompt- und Sitzungsintegration
fish wertet ab sofort drei neue Umgebungsvariablen aus: SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX und SHELL_WELCOME. Präfix und Suffix erscheinen automatisch vor und nach dem linken Prompt, die Welcome-Variable blendet beim Start eine zusätzliche Meldung ein. Damit lassen sich zum Beispiel privilegierte oder speziell gestartete Sitzungen klar kennzeichnen, ohne eigene Prompt-Logik schreiben zu müssen. Die Entwickler nennen systemd run0 als typischen Anwendungsfall.
Ferner behandelt fish Emoji jetzt standardmäßig als zwei Zellen breit statt bisher eine. Das korrigiert eine häufige Fehlerquelle bei der Terminaldarstellung, wobei die Shell seit kurzem UTF-8 als Standard voraussetzt: Stimmt die angenommene Zeichenbreite nicht mit der tatsächlichen Darstellung überein, verrutschen Prompts, Einrückungen und tabellarische Ausgaben. Die Umstellung hilft vor allem Nutzern, die von modernen Desktops auf ältere Systeme zugreifen. Gegen Fehlausrichtungen auf älteren Terminals hilft es, fish_emoji_width auf 1 zurückzusetzen.
Bash-kompatible Pipe-Syntax
fish akzeptiert ab Version 4.6.0 |& als alternative Schreibweise zu &|. Beide leiten Standardausgabe und Standardfehler gemeinsam in eine Pipe. Ein typisches Beispiel: make |& less schickt Build-Ausgaben und Fehlermeldungen zusammen in den Pager. Die Ergänzung verringert Stolperfallen für Nutzer, die regelmäßig zwischen Bash und fish wechseln.
set_color schaltet Stilattribute wie Kursiv, Unterstreichung, Reverse und Durchstreichen jetzt gezielt ab – etwa mit --italics=off. Neu sind außerdem die Optionen --foreground und --reset. Sie erleichtern Theme-Autoren und Prompt-Frameworks die präzise Steuerung von Terminalattributen.
Fixes und kleinere Verbesserungen
Weiterlesen nach der Anzeige
Signale wie SIGWINCH, die das System etwa beim Ändern der Fenstergröße sendet, unterbrechen Builtin-Ausgaben nicht mehr. Einen Absturz beim Suspendieren bestimmter Pipelines per Ctrl-Z haben die Entwickler ebenfalls behoben. Unter macOS beseitigt das Release einen Fehler, den langsame Terminalantworten beim Start auslösten.
Version 4.6.0 korrigiert zudem mehrere Fehler aus den Releases 4.3 bis 4.5: ein Zwischenartefakt beim Neuzeichnen des Prompts, die ignorierte Option --color= bei history, Probleme im Vi-Modus bei dl und dh sowie fehlerhafte Completion bei Befehlen, die mit - beginnen.
Der Completion-Pager richtet Beschreibungen jetzt linksbündig aus. fish_indent bewahrt nun Kommentare und Leerzeilen direkt vor einem Brace-Block. Für Entwickler und Distributoren: cargo xtask-Subkommandos brechen bei Testfehlern nicht mehr mit einem Panic ab. Die Maintainer weisen in den Release Notes darauf hin, dass Nutzer den Quellcode über fish-4.6.0.tar.xz beziehen sollen – das generische tar.gz-Archiv von GitHub lasse sich nicht korrekt bauen.
(fo)