Функції
Матеріал з Wiki TNEU
Версія від 12:35, 6 грудня 2011; Gerasymchuk (Обговорення)
Загальний синтаксис оператора визначення функції:
[Function] імя_функциі () {
спісок_комманд }
Крім K & R-стилю також застосуємо BSD-стиль:
[Function] імя_функциі ()
{ спісок_комманд }
Викликати функцію можна в будь-якому місці сценарію, але перед цим вона повинна бути оголошена. Виклик здійснюється вказівкою імені функції в тексті скрипта.
- Визначення функції
func1 () {
echo "Hello."
}
- Виклик функції
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 для функції, щоб отримувати вхідні дані з файлу. Для цього служить конструкція:
імя_функциі ()
{ спісок_команд } <Файл Також можли
ен наступний варіант: імя_функциі ()
{ { список_команд } <Файл }