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