Функції
Функція - це підпрограма, блок коду який реалізує набір операцій, свого роду "чорний ящик", призначений для виконання конкретного завдання. Функції можуть використовуватися скрізь, де є ділянки повторюваного коду.
Синтаксис оператора визначення функції в bash наступний:
[Function] ім'я_функциі () { список_команд }
Викликати функцію можна в будь-якому місці сценарію простим зазначенням її імені в тексті, але перед цим вона повинна бути оголошена. Виклик здійснюється вказівкою імені функції в тексті скрипта.
Визначення функції
func1 () { echo "Hello." }
Виклик функції
funс1
Також всередині функції доступні локальні змінні сценарію. Наприклад:
param1 = Hello func2 () { param2 = $ {1 - $ param1} echo "param2 = $ param2" }
Якщо при виконанні функції сталася помилка, відбувається завершення виконання функції з ненульовим кодом повернення. Код завершення можна задавати явно за допомогою команди return. Код завершення в сценарії може бути отриманий через змінну $? і доступний до виконання наступної команди.
Можливості bash дозволяють перевизначити stdin для функції, щоб отримувати вхідні дані з файлу. Для цього служить конструкція:
імя_функциі () { список_команд } <Файл
Також можливий наступний варіант:
ім'я_функції () { { список_команд } <Файл }