Bash скриптинг
Описание
Shell скрипт может быть набором команд, исполняемых последовательно
Скрипты поддерживают переменные для поддержки различных условий
Могут использоваться различные условия, такие как for, if, case, while
Не нужен дополнительный интерпретатор, так как все команды поддерживаются shell
Bash скрипты работают быстро если используют только внутренние команды
Нет необходимости в компиляции
Для Bash нет модулей
Не является идемпонентным
Идемпотентность — свойство объекта или операции при повторном применении операции к объекту давать тот же результат, что и при первом
Основные компоненты
Каждый скрипт начинается с "#!/bin/bash"
Необходим, так как не все Linux системы по-умолчанию работают через bash, соответственно без этого указания скрипт на таких системах не будет работать корректно
Комментарии начинаются с "#" в начале строки
"echo" выводит текст в консоль
"read" читает введеные данные
"$" задает переменную
Скрипты запускаются в сабшелле, после исполнения сабшелл закрывается, таким образом пользователь остается в свой среде в изначальной позиции
Если необходимо запустить скрипт в текущем шелле, до его необходимо указать в источник через точку
"exit" - выход из скрипта
Если exit равен нулю - скрипт успешно отработал, если единице - то скрипт завершен с ошибками
В квадратные скобки заключается тест команда
man test для справки
Петли
Для написания скрипта с возможностью множественных итераций одного процесса используются условия
if ... then ... fi
if (если) - условие, then (тогда) - что нужно сделать при данном условии, fi (finish) - закончить обработку
while .... do ... done
while - условие true в течение времени
until ... do ... done
until - противоположно while
case ...in ... esac
case - для проверки конкретных параметров
for ... in ... do ... done
for - обработка последовательности аргументов
Last updated
Was this helpful?