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 :
Читайте про использование оператора case в bash скриптах и подробнее про то как запускать скрипты и где могут использоваться разные способы запуска.