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
- Fish-tutorialen om funktioner: https://fishshell.com/docs/current/tutorial.html#tut_functions