Функції

Матеріал з Wiki TNEU
Версія від 13:35, 6 грудня 2011; Gerasymchuk (Обговорення)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук
Загальний синтаксис оператора визначення функції:

[Function] імя_функциі () {

спісок_комманд
}
Крім K & R-стилю також застосуємо BSD-стиль:

[Function] імя_функциі ()

{
спісок_комманд
}
Викликати функцію можна в будь-якому місці сценарію, але перед цим вона повинна бути оголошена. Виклик здійснюється вказівкою імені функції в тексті скрипта.
  1. Визначення функції

func1 () {

 echo "Hello."

}

  1. Виклик функції

funс1

Опції приймають вхідні аргументи і повертають код завершення. Доступ до вхідних аргументів здійснюється через позиційні параметри. Позиційний параметр 0 містить ім'я функції. Усередині функції доступні локальні змінні сценарію. Наведу приклад:

param1 = Hello func2 () { param2 = $ {1 - $ param1} echo "param2 = $ param2" }

Тепер приклад із аргументами:

func3 () { if ["$ 1"] then echo "Аргумент # 1: \" $ 1 \ ".-" fi if ["$ 2"] then echo "Аргумент # 2: \" $ 2 \ ".-" fi } func3 # виклик функції без аргументів func3 arg1 # виклик функції з одним аргументом func3 arg1 arg2 # виклик функції з двома аргументами

Якщо при виконанні функції сталася помилка, відбувається завершення виконання функції з ненульовим кодом повернення. Код завершення можна задавати явно за допомогою команди return. Код завершення в сценарії може бути отриманий через змінну $? і доступний до виконання наступної команди.
Можливості bash дозволяють перевизначити stdin для функції, щоб отримувати вхідні дані з файлу. Для цього служить конструкція:

імя_функциі ()

{
спісок_команд
} <Файл
Також можли

ен наступний варіант: імя_функциі ()

{
{
список_команд
} <Файл
}
Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти