Сценарии оболочки bash ОС семейства UNIX
Опубликовано:
Комментариев: 1
Часто повторяемые последовательности команд можно объединить в сценарий. Сценарий - это разновидность интерпретируемой программы. Сценарии оболочки bash представляют собой текстовые файлы, содержащие последовательность команд оболочки, вызовов внешних программ и других сценариев, специальных управления последовательностью выполнения, а также комментариев. Для запуска сценария на выполнение он должен быть передан оболочке в качестве параметра, например: bash <имя_сценария >.
Для того чтобы сценарий автоматически распознавался оболочкой, необходимо проделать следующие действия. Во-первых, если сценарий пишется под оболочку bash, первая строка сценария должна начинаться с последовательности «#!/bin/bash». Во-вторых, файлу сценария должен быть присвоен атрибут исполнимости (с помощью команды chmod). После этого сценарий может быть вызван как обычная команда оболочки.
Сценарий может принимать и обрабатывать параметры из командной строки, а также переменные среды. Параметры командной строки доступны внутри сценария по именам %0-%9. Переменная %0 содержит имя самого файла сценария, а переменные %1-%9 — первые девять параметров командной строки. Если необходимо использовать большее число параметров, то после обработки первых девяти необходимо произвести сдвиг параметров командой shift. После первой команды shift в переменную %0 записывается значение переменной %1, в %1 - %2 и т.д. В переменную %9 записывается десятый параметр. Для получения прочих параметров можно использовать команду shift необходимое число раз. Значения параметров могут быть установлены (или изменены) из самого сценария с помощью команды set.
Комментарии в сценариях оформляются с помощью символа за которой следует текст комментария. Концом комментария считается конец строки.
Команда test проверяет выполнение некоторого условия. Необходимо отметить, что и обе квадратные скобки, и составляющие условия должны быть отделены пробелами (т.к. на самом деле существует только команда с именем, а все остальное — и части условия, и символ "]", представляет собой параметры этой команды). В оболочке используются условия различных «типов».
Существуют две специальные команды, true и false, не делающие ничего, но возвращающие значения «истина» и «ложь» соответственно.