Fish Shell:
Організація коду у функції

Як це зробити:

У Fish ви пишете функцію за допомогою ключового слова function, даєте їй назву і закінчуєте end. Ось простий приклад:

function hello
    echo "Hello, World!"
end

hello

Вивід:

Hello, World!

Тепер зробімо так, щоб вона вітала користувача:

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

greet

Вивід:

Hey there, ваш_логін!

Щоб зберегти її для наступних сесій, використовуйте funcsave greet.

Поглиблено

Функції у Fish Shell схожі на міні-скрипти — ви можете додати туди майже все. Історично концепція функцій у скриптінгу командної оболонки зберегла безліч годин на повторне набирання та відлагодження. На відміну від мов програмування, як-от Python, функції командної оболонки більш про зручність, ніж про структуру.

Деякі оболонки, як-от Bash, використовують function або просто фігурні дужки. Fish тримається за function ... end — чітко та зрозуміло. Усередині функцій Fish ви отримуєте всі фішки: параметри, локальні змінні з set -l, і ви навіть можете визначити функцію всередині іншої функції.

Вам не знадобиться значення return, оскільки Fish не акцентує на цьому; виходом вашої функції є її результат. І якщо ви хочете мати постійні функції, доступні для майбутніх сесій, пам’ятайте про funcsave.

Дивіться також

Команди для роботи з функціями

  • function — Створити функцію
  • functions — Роздрукувати або стерти функції
  • funcsave — Зберегти визначення функції в директорію автозавантаження користувача
  • funced — Інтерактивно редагувати функцію