Fish Shell:
Code organiseren in functies
Hoe:
In Fish schrijf je een functie met het trefwoord function
, geef je het een naam en eindig je met end
. Hier is een eenvoudige:
function hello
echo "Hallo, wereld!"
end
hello
Output:
Hallo, wereld!
Laten we het nu een gebruiker laten begroeten:
function greet
set user (whoami)
echo "Hey daar, $user!"
end
greet
Output:
Hey daar, jouw_gebruikersnaam!
Om het over sessies heen te bewaren, gebruik je funcsave greet
.
Diepere Duik
Fish Shell-functies zijn als mini-scripts — je kunt er vrijwel alles in stoppen. Historisch gezien heeft het concept van functies in shellscripts ontelbaar veel uren aan repetitief typen en debuggen bespaard. In tegenstelling tot programmeertalen zoals Python, zijn Shell-functies meer gericht op gemak dan op structuur.
Sommige shells, zoals Bash, gebruiken function
of gewoon rechte haakjes. Fish houdt het op function ... end
— duidelijk en leesbaar. Binnen Fish-functies krijg je alle toeters en bellen: parameters, lokale variabelen met set -l
, en je kunt zelfs een functie binnen een andere functie definiëren.
Je hebt geen return
waarde nodig omdat Fish daar niet sterk op inzet; de output van je functie is de return. En als je persistente functies wilt die beschikbaar zijn voor toekomstige sessies, onthoud dan funcsave
.
Zie Ook
- De Fish tutorial over functies: https://fishshell.com/docs/current/tutorial.html#tut_functions