Fish commandline shell

Daniel Dupré
0

De Linux-commandline is een krachtige tool, maar niet erg toegankelijk. De Friendly Interactive Shell, oftewel Fish, wil daar verandering in brengen.

Fish doet dit door gebruikers te voorzien van informatie over mogelijke opties, en het kleur-gecodeerd aan te geven als iets klopt of als je iets vergeten bent.

De omgang met de terminal is minder erg dan zijn reputatie doet vermoeden, maar je moet de talloze commando’s wel kennen om ermee uit de voeten te kunnen. De shell Fish richt zich op instappers die zich voor het eerst aan Linux wagen. De shell breekt met enkele oude basisconventies van Unix.

Fish wil zonder dat je iets hoeft te configureren hulp bieden. Daarvoor stelt Fish al zodra je gaat typen relevante begrippen voor. Fish put daarbij uit de geschiedenis van commando’s die je al eens eerder hebt ingevoerd, maar ook uit de documentaties van de commandlinetools.

fish shell

Om geschikte voorstellen te genereren, analyseert Fish automatische de Man-pages van de geïnstalleerde programma’s. Als je bijvoorbeeld grep – intypt en de tabtoets indrukt, toont Fish alle mogelijke opties die bij grep passen. In tegenstelling tot de aanvullingen die bash geeft, toont Fish ook een korte uitleg bij de opties.

Met de pijltoetsen en Enter selecteer je de gewenste optie.
Bovendien toont Fish tijdens het invoeren de commando’s, waarden en haakjes in verschillende kleuren. Incorrecte commando’s of vergeten haakjes blijven net zolang rood, totdat alles juist is. Commando’s die over meerdere regels lopen kun je zonder gedoe bewerken, omdat je met de ­rechter en de linker pijltjestoetsen de cursor ook over de regeleindes heen kunt verplaatsen.

Fish maakt het programmeren van eigen shell-scripts ook eenvoudiger. Meerdere commando’s knoop je aan elkaar met and en orin plaats van && en ||. Loops en if-condities sluit je uniform met end. Voor de command-substitution – het uitvoeren van een commando en met diens waarde verder werken – gebruik je eenvoudige haakjes zonder dollarteken: touch protocol-(date +%F).txt.

Backticks ondersteunt Fish niet. Er zijn talloze ingebouwde commando’s zoals countof string, die je helpen de brontekst van je eigen shell-scripts overzichtelijk te houden. Waarden die aan functies en scripts worden doorgegeven roep je met de array $argv weer op in plaats van onhandig met $1, $2, et cetera.

De syntax is weliswaar niet compatibel met de POSIX-standaard, maar de ontwikkelaars van Fish hopen dat het resulteert in shell-scripts die beter leesbaar zijn. In sommige gevallen maakt de eigen weg die Fish inslaat dingen niet veel makkelijker. In plaats van met een gelijkteken, wijs je variabelen een waarde toe met set variable waarde.

Over het geheel genomen is het uitgangspunt van Fish overtuigend. Vooral de interactieve hulp is niet alleen handig voor beginners, maar kan ook doorgewinterde commandline-gebruikers van dienst zijn om nieuwe opties te ontdekken.

systeemeisenLinux, BSD-afgeleiden, macOS
licentieopensource (GPLv2)
prijsgratis

Meer software-reviews in c’t 12/2024

Meer over

Software

Deel dit artikel

Daniel Dupré
Daniel DupréDaniel koestert een liefde voor het in elkaar zetten van zinnen en van computers, en heeft in c't een prachtige mogelijkheid gevonden om beide te combineren.

Lees ook

Lichte e-bookreader voor Linux

Bookworm is een eenvoudige e-bookreader voor Linux die alle basismogelijkheden biedt die je van een e-bookreader mag verwachten.

Superactuele Linuxdesktop Manjaro

Manjaro 18.0 is een Linux-distributie op basis van Arch Linux. Grafische tools maken niet alleen het installeren en configureren makkelijk, maar ook j...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er