bash функции — пример скрипта с использованием функций


Bash является полноценным скриптовым языком, bash функции применяются как и в других языках программирования, они определяются в одной части программы и вызываются один или несколько раз в другой части программы.

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



bash функции, пример простого кода


#!/bin/bash

function hello(){
 echo "Hello World"
 echo "and everyone else"
 }

function world(){
 echo "---------------"
 echo "Hello to u too"
 }

hello
 world
 echo "hi"


Пояснение принципов работы скрипта


Определение интерпретатора

#!/bin/bash


Задание функции, функция hello будет последовательно выводить две фразы: «Hello World» и «and everyone else».

function hello(){
echo "Hello World"
echo "and everyone else"
}

Вторая функция — world — будет выводить некоторое количество знаков тире подряд, затем фразу «Hello to u too»


function world(){
echo "---------------"
echo "Hello to u too"
}


Функции определены, без их вызова ничего в консоль выводиться не будет.



Вызываем заданные функции, затем слово «hi»

hello
world
echo "hi"

Интерпретатор bash не будет выполнять никаких действий при определении функций в скрипте, когда будет вызвана первая функция он обратится к участку кода, в котором она определена. Выполнит код и вернется к программе.

Дальше указана вторая функция, интерпретатор выполнит её и вновь вернется.

Последняя инструкция представляет собой простую команду. Выполнив её скрипт завершит работу.



Чтобы проверить, как обычно, делаем скрипт исполняемым

chmod +x func



Запускаем

./func



В выводе результат вызова функций и слово «hi»в завершение:

Hello World
and everyone else
—————
Hello to u too
hi



Также скрипт можно запускать не делая файл исполняемым и вместо этого просто указывая интерпретатор — полный путь к исполняемому файлу оболочки /bin/bash.

Вывода тестового скрипта с запуском через /bin/bash :

bash функции



Читайте про использование оператора case в bash скриптах и подробнее про то как запускать скрипты и где могут использоваться разные способы запуска.

Сказать спасибо