Software-update: fish 4.7.0

Fish logo Versie 4.7.0 van fish is uitgekomen. Fish, wat staat voor 'friendly interactive shell', is een Unix-shell met een focus op interactiviteit en gebruikersvriendelijkheid. Het kan bijvoorbeeld worden gebruikt als vervanger van Bash. Downloads zijn beschikbaar voor macOS, Linux, BSD en onder Windows is het ook in de Windows Subsystem for Linux te gebruiken. De changelog voor deze uitgave kan hieronder worden gevonden.

Deprecations and removed features
  • The default theme (i.e. the fish_color_* variables) is no longer set in non-interactive shells.
Interactive improvements
  • prompt_pwd now strips control characters.
  • Repaint events (as triggered by changes to color variables or by event handlers running commandline -f repaint) no longer reset the completion pager and other transient UI states (#12683).
  • fish_color_valid_path now respects background and underline colors (#12622).
  • funced will no longer lose work if there are parse errors multiple times without new changes to the file.
  • Fixed a case where directory completions were sorted in a surprising order (#12695).
  • When at the command token, the alt-o binding will now open read-only files too (#12671).
  • Private mode in-memory history (set fish_history) is no longer shared with builtin read (#12662).
Other improvements
  • History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP (#10300).
  • fish_update_completions now handles groff \X'...' device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
  • Removing history entries via the web-based config is more intuitive.
  • If XDG_DATA_DIRS is empty, the default value is assumed, which means that fish will now also use configuration from paths like $PREFIX/share/fish/vendor_completions.d (#11349).
  • Some internal file descriptors were moved to number 10 or higher, to reduce risk of clashes with those used by the user in scripts.
  • The wording of error messages has been made consistent, especially for builtin subcommands (#12556).
For distributors and developers
  • When the default global config directory ($PREFIX/etc/fish) exists but has been overridden via -DCMAKE_INSTALL_SYSCONFDIR, fish will now respect that override (#10748).
  • build_tools/update_translations.fish has been replaced by cargo xtask gettext {check,new,update} (#12676).
  • cargo xtask shellcheck to lint shell-scripts.
Regression fixes:
  • (from 4.6) Vi mode dl (#12461).
  • (from 4.6) Backspace after newline (#12583).
  • (from 4.3.3) Long options were spuriously completed after typing short options (85e76ba3561).
  • (from 3.2) nosuchcommand || echo hello executes the right hand side again (#12654).

fish-shell

Versienummer 4.7.0
Releasestatus Final
Besturingssystemen Linux, BSD, macOS, Windows 10, Windows 11
Website Fish
Download https://fishshell.com
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

06-05-2026 • 10:30

6

Bron: Fish

Update-historie

10:30 fish 4.7.0 6
28-03 fish 4.6.0 11
17-02 fish 4.5.0 0
03-02 fish 4.4.0 4
07-01 fish 4.3.3 21
31-12 fish 4.3.2 0
28-12 fish 4.3.1 16
10-11 fish 4.2.0 0
28-09 fish 4.1.0 12
12-09 fish 4.0.6 3
Meer historie

Reacties (6)

Sorteer op:

Weergave:

Dit is gewoon een van de vele smaakjes aan linux shells beschikbaar?

Ik draai nu cachyos, maar er niet aan gedacht om deze te veranderen, en of waarom ik dat zou willen.
Hier neem ik aan dat dezelfde commando's beschikbaar zijn als in de shell welke is meegeleverd.
Bash, Zsh en Fish. Alle standaard commando's werken in alle drie.

Ik gebruik standaard Fish omdat de <tab> functionaliteit, naast het oplijsten van files en commando's, ook de parameters van een commando weergeeft en wat ze doen. Het gaat die informatie gaan halen uit de man-pages. Sinds ik dat gewoon ben wil ik niks anders meer.

sudo pacman -<tab> => alle opties + uitleg.

sudo pacman -S<tab> => alle opties + uitleg die binnen -S bestaan

Heerlijk.

Alsook:
  • ctrl+r: commando historiek; selecteerbaar
  • ctrl+f: het commando selecteren die het voorstelt als je begint te typen

[Reactie gewijzigd door TheBlackbird op 6 mei 2026 12:33]

Alleen zijn her helaas voor FIsh nog wel een stuk minder tab-completion packages beschikbaar, voor Bash uiteraard nog het meest. Het komt wel langzaamaan van de grond.

Ander mooi ding, als toevoeging, vind ik dat je minder in configuratiebestanden zit te knoeien. Wil je een env vat instellen die altijd blijft? `set -Ux name value`, wil je iets aan je PATH toevoegen? `fish_add_path <path>`.
ben grote fan van fish, maar belangrijk om te weten is dat fish niet POSIX-compliant is


dit betekent dat veel standaard bash snippets niet zullen werken in fish, het heeft andere syntax/commands voor oa loops, variabelen assignen, conditionals, string interpolation etc.

fish is in mijn ogen zodanig gebruiksvriendelijker en fijner dat die tradeoff het waard is, maar wees gewaarschuwd!
Dat kun je oplossen door je scripts te voorzien van een zogenaamd Shebang: https://linuxize.com/post/bash-shebang/
Toegegeven: ja, dit is 1 van de vele shell-smaken. En zoals vermeld is deze niet alleen onder linux beschikbaar maar ook onder echte unix-smaken en blijkbaar zelfs onder msWindows. In dat laatste geval als alternatief voor cmd en/of powershell.

Toch zie ik dit als 'anders'. Een beetje terug in de tijd, toen naast de /bin/sh ook /bin/csh beschikbaar kwam. Die c-shell was op de commandline veel praktischer bruikbaar dan de /bin/sh. Maar in scripts was dat juist andersom. Daarna zijn de kornshell (/bin/ksh) en de bourne-again shell (/bin/bash) gekomen om de handige zaken van de c-shell te combineren met de script-a-billity van /bin/sh.

Zelf ben ik nog niet overtuigd van een alternatief voor bash. Maar misschien is het wel omdat ik vaak van systeem wissel en geen zin heb om overal een aparte shell te installeren. Een zelfde reden waarom ik voor editen nog vaak vi gebruik en nooit emacs heb geleerd.

Om te kunnen reageren moet je ingelogd zijn