Функции в языке 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
}
Источники
Связанные темы
Использование команды tee в Linux
Использование wget и curl в Linux
Команда chattr и lsattr в Linux
Использование awk Linux Alpine
Блокировка пользователя в Linux
Проверка на необходимость перезапуска после обновления пакетов
Стандартные потоки и перенаправление ввода/вывода в Linux
Архивирование и сжатие файлов в Linux
Полезные команды и скрипты Linux
Условная конструкция if в Linux
Использование оператора select в языке shell
Внутренние и внешние команды linux
Использование конструкции case в Linux