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

Functie-commando’s

  • function — Maak een functie
  • functions — Print of verwijder functies
  • funcsave — Sla de definitie van een functie op in de autolaadmap van de gebruiker
  • funced — Bewerk een functie interactief