Теги: shell
Функции в языке Shell
Данный конспект в доработке
Функции
Функция - блок кода, подпрограмма, которая реализует набор операций для выполнения одной определенной задачи
Функции могут использоваться везде, где имеются участки повторяющегося кода
function function_name {
command...
}
Или
function_name () {
command...
}
func ()
{
...
}
#Вызов func Функция должна быть объявлена раньше, чем ее можно будет использовать
Функции могут принимать входные аргументы и возвращать код завершения
Доступ к входным аргументам, в функциях, производится посредством позиционных параметров, т.е. $1, $2 и так далее
return завершает исполнение функции. Команда return может иметь необязательный аргумент типа integer, который возвращается в вызывающий сценарий как "код завершения" функции, это значение так же записывается в переменную $?
Функция есть блок кода, это значит, что устройство stdin для функций может быть переопределено ( перенаправление )
file_excerpt ()
{
while read line
do
echo "$line" | grep $1 | awk -F":" '{ print $5 }'
done
} <$file # Подменить stdin для функции
file_excerpt $pattern
#альтернативный, и возможно менее запутанный, способ перенаправления ввода для функций
# Вместо:
Function ()
{
...
} < file
# Попробуйте так:
Function ()
{
{
...
} < file
}
# Похожий вариант,
Function () # Тоже работает.
{
{
echo $*
} | tr a b
}
Источники
Последнее изменение: October 6, 2024 20:02






