Как системный администратор Linux, чаще остальных вы должны использовать два инструмента: текстовый редактор для создания и редактирования текстовых файлов и оболочку для выполнения команд. В некоторых местах вы устанете печатать повторяющиеся команды и начнете искать способы поберечь свои пальцы и уменьшить количество ошибок. Вот почему удобно комбинировать текстовый редактор и оболочку для создания простейших программ Linux: сценариев оболочки.
Сама Linux использует сценарии оболочки везде, особенно для настраивания задач в сервисном и производственном менеджменте. Если вы понимаете, как были написаны эти системные сценарии, то сможете интерпретировать совершаемые ими действия и приспосабливать их к собственным требованиям.
Оболочка (интерфейс операционной системы) — это одна из многих инноваций, заимствованных от «прабабушки» Linux — UNIX. В 1978 году разработчик компании Bell Labs Стивен Борн (Stephen Bourne) создал оболочку Bourne Shell для версии UNIX 7. Она называлась sh (в UNIX ценится краткость) и определяла стандартные возможности, до сих пор встречающиеся во всех оболочках. Из нее развились многие оболочки: Korn (ksh, конечно же), С (csh) и, наконец, Bash (bash), сегодня являющаяся стандартом в системах GNU/Linux. Bash — это сокращение каламбур от BourneAgain Shell. Эта оболочка по-прежнему поддерживает сценарии, написанные в оригинальной оболочке Bourne.
Данная глава начинается с основ bash: подсказок оболочки, команд и аргументов, переменных, выражений и перенаправлений вводавывода. Если вы уже знакомы со всем этим, то много не потеряете, пропустив несколько следующих страниц.
Каждый инструмент имеет свои ограничения, и однажды вы можете счесть, что bash — не лучшее решение ваших проблем. Ближе к концу этой главы мы испытаем небольшое приложение, написанное с помощью сценарных языков: bash, а также Perl, РНР и Python (три Р, связанные с сокращением LAMP. Вы можете сравнить их синтаксис, выразительность, простоту в использовании и применимость в различных областях.