Fish Shell:
Organisera kod i funktioner

Hur man gör:

I Fish skriver du en funktion med function-nyckelordet, ger den ett namn, och avslutar med end. Här är en enkel:

function hello
    echo "Hello, World!"
end

hello

Utskrift:

Hello, World!

Nu, låt oss göra den hälsa på en användare:

function greet
    set user (whoami)
    echo "Hey there, $user!"
end

greet

Utskrift:

Hey there, ditt_användarnamn!

För att spara den över sessioner, använd funcsave greet.

Fördjupning

Fish Shell-funktioner är som mini-script — du kan stoppa in nästan vad som helst där. Historiskt sett har begreppet funktioner i shellskriptning sparat otaliga timmar av repetitivt skrivande och felsökning. Till skillnad från programmeringsspråk som Python, handlar Shell-funktioner mer om bekvämlighet än struktur.

Vissa skal, som Bash, använder function eller bara raka klammerparenteser. Fish håller sig till function ... end — tydligt och lättläst. Inuti Fish-funktioner får du alla finesser: parametrar, lokala variabler med set -l, och du kan till och med definiera en funktion inuti en annan funktion.

Du behöver inte ett return-värde eftersom Fish inte fokuserar mycket på det; utdatan från din funktion är dess returvärde. Och om du vill ha beständiga funktioner tillgängliga för framtida sessioner, kom ihåg funcsave.

Se även

Funktionskommandon

  • function — Skapa en funktion
  • functions — Skriv ut eller radera funktioner
  • funcsave — Spara definitionen av en funktion till användarens autoload-katalog
  • funced — Redigera en funktion interaktivt