Основы функций в Bash

Введение в Bash-скриптинг

Alex Scriven

Data Scientist

Зачем нужны функции?

 

Если вы работали с функциями в R или Python, вам знакомы их преимущества:

  1. Функции можно использовать повторно
  2. Функции делают код аккуратным и модульным
  3. Функции упрощают совместное использование кода (достаточно знать входные и выходные данные!)
Введение в Bash-скриптинг

Анатомия функции в Bash

Разберём синтаксис функции:

  • Начните с имени функции — оно используется при вызове.
    • Выбирайте осмысленное имя!
  • После имени добавьте круглые скобки
  • Код функции заключите в фигурные скобки. Можно использовать всё изученное: циклы, IF, вложенные оболочки и т. д.!
  • При необходимости добавьте возвращаемое значение (осторожно — здесь есть нюансы)

 

Функция в Bash имеет следующий синтаксис:

function_name () {
    #function_code
    return #something
}
Введение в Bash-скриптинг

Альтернативный синтаксис функций в Bash

Функцию также можно объявить следующим образом:

function function_name {
    #function_code
    return #something
}

Основные отличия:

  • Используется ключевое слово function для обозначения начала функции
  • Круглые скобки в первой строке можно опустить, хотя многие оставляют их по соглашению
Введение в Bash-скриптинг

Вызов функции в Bash

Вызов функции в Bash — это просто её имя:

function print_hello () {
    echo "Hello world!"
}

print_hello # here we call the function
Hello world!
Введение в Bash-скриптинг

Функция перевода Фаренгейта в Цельсий на Bash

Напишем функцию для перевода градусов Фаренгейта в Цельсий, как в предыдущем уроке, используя статическую переменную.

temp_f=30

function convert_temp () {
temp_c=$(echo "scale=2; ($temp_f - 32) * 5 / 9" | bc)
echo $temp_c }
convert_temp # call the function
-1.11
Введение в Bash-скриптинг

Давайте потренируемся!

Введение в Bash-скриптинг

Preparing Video For Download...