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ż

Polecenia funkcji

  • function — Utwórz funkcję
  • functions — Wydrukuj lub usuń funkcje
  • funcsave — Zapisz definicję funkcji do katalogu autoload użytkownika
  • funced — Interaktywnie edytuj funkcję