Wiki

Функции в shell

Функция позволяет подготовить список команд shell для последующего выполнения.
Описание функции меет вид:

     имя()
     {
     список команд
     }

после чего обращение к функции происходит по имени. При выполнении функции не создается нового процесса. Она выполняется в среде соответсвующего процесса. Аргументы функции становятся ее позиционными параметрами; имя функции - ее нулевой параметр. Прервать выполнение функции можно оператором "return [n]", где (необязательное) "n" - код возврата.

Пример. Вызов на выполнение файла "fun"

     echo $$
 
     fn()                 # описание функции
     {
     echo xx=$xx
     echo $#
     echo $0: $$ $1 $2
     xx=yy ; echo xx=$xx
     return 5
     }
 
     xx=xx ; echo xx=$xx
     fn a b               # вызов функции "fn" с параметрами
     echo $?
     echo xx=$xx

содержащего описание и вызов функции "fn", выдаст на экран:
     749
     xx=xx
     xx=xx
     2
     fun: 749 a b
     xx=yy
     5
     xx=yy