Fish Shell:
Organizacja kodu w funkcje
Jak to zrobić:
W Fish piszesz funkcję słowem kluczowym function
, nadajesz jej nazwę i kończysz end
. Oto prosta funkcja:
function hello
echo "Hello, World!"
end
hello
Wynik:
Hello, World!
Teraz, zróbmy tak, aby powitała użytkownika:
function greet
set user (whoami)
echo "Hey there, $user!"
end
greet
Wynik:
Hey there, your_username!
Aby zachować ją na przyszłe sesje, użyj funcsave greet
.
Wnikliwe spojrzenie
Funkcje w Fish Shell są jak mini-skrypty — możesz tam włożyć prawie wszystko. Historycznie, koncepcja funkcji w skryptach shell zaoszczędziła niezliczone godziny powtarzalnego pisania i debugowania. W przeciwieństwie do języków programowania takich jak Python, funkcje Shell są bardziej o wygodzie niż o strukturze.
Niektóre shelle, takie jak Bash, używają function
lub po prostu nawiasów klamrowych. Fish trzyma się function ... end
— jasne i czytelne. Wewnątrz funkcji Fish możesz korzystać ze wszystkiego, co najlepsze: parametry, lokalne zmienne z set -l
, a nawet zdefiniować funkcję wewnątrz innej funkcji.
Nie będziesz potrzebować wartości return
, ponieważ Fish nie kładzie na to dużego nacisku; wyjście twojej funkcji jest jej wartością zwracaną. I jeśli chcesz mieć trwałe funkcje dostępne na przyszłe sesje, pamiętaj o funcsave
.
Zobacz również
- Tutorial Fish na temat funkcji: https://fishshell.com/docs/current/tutorial.html#tut_functions