Статьи

Рецепты сценариев оболочки

Командная строка — это многое для многих. Некоторые пользователи работают в ужасе, предпочитая GUI для администрирования по принципу «укажи и щелкни». Другие не будут работать нигде, кроме как в теплом свете Bash Shell.

Я живу в обоих мирах, находя замечательные решения для системного администрирования в мире открытого исходного кода, мой любимый — Webmin . Тем не менее, я постоянно возвращаю командную оболочку для многих моих задач и сценариев. В моем случае это стало еще более удобным, используя Mac OS X в качестве моей ОС, используя преимущества графического интерфейса мирового класса и базовых инструментов BSD Unix.

Некоторое время я считал себя достаточно опытным в командной строке. Это было до тех пор, пока рецепты сценариев оболочки Криса Джонсона (Apress) не оказались на моем столе. Джонсон был представлен Unix и shell в 1990 году, за 5 лет до того, как я получил это удовольствие и, несомненно, стал мастером.

Делая шаг назад — многие из нас, кто управляет серверами, будут использовать оболочку для сеансов SFTP или SSH, для управления такими приложениями, как MySQL, почтовые серверы, веб-серверы и так далее. Кроме того, мы часто пишем несколько полезных сценариев для упражнений, таких как резервное копирование данных, репликация на другие серверы, проверка журналов и очистка кешей и очередей.

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

Джонсон начинает с описания основных функций и утилит, доступных в оболочке POSIX. Это позволяет читателям его книги использовать эти знания в современных общих оболочках, так или иначе, потомков оболочки POSIX. Я действительно думал, что первая глава могла бы быть скорее обзором, а не погружением в общие черты функций Unix — что может стать камнем преткновения для совершенно новых пользователей оболочки. Тем не менее, любой, у кого есть опыт работы с командной строкой, не должен испытывать затруднений в связи с содержанием.

Помимо введения, рецепты сценариев оболочки становятся серьезными, разбивая возможности оболочки по функциям — рассматривая манипуляции с текстовыми файлами, работу со строками, математические функции, работу с датами и многое другое.

Я нашел несколько глав очень полезными для вопросов, с которыми я имею дело. Сначала работал с PATH (глава 7), с которой большинство из нас боролись за создание приложений на системах Linux. Johnson’s предоставляет три полезных скрипта (checkpath, addpath и rmpath), которые позволяют администратору иметь дело с путями пользователя. Это может пригодиться тем, у кого на ваших серверах работают пользовательские приложения.

Оставаясь на тему конечного пользователя — я был очень рад познакомиться с pop3-funcs (глава 10). Это открывает возможности для устранения неполадок в популярных почтовых ящиках на многих уровнях, от простого подсчета сообщений и размера до сбора заголовков сообщений в массив для просмотра или фильтрации вручную с точки зрения технической поддержки. Кроме того, Джонсон охватывает pop3list, который действует как псевдо-почтовый клиент в оболочке. Я обнаружил, что это идеальный инструмент для тестирования, возможно, для проверки доставки сообщений в почтовый ящик клиента при развертывании веб-приложения (или его исправления) вместо настройки собственного клиента для тестирования домена, который я не буду использовать.

В главе 16 Джонсон настраивается на мир HTML с некоторыми полезными утилитами, которые я буду использовать. Я могу вспомнить множество вариантов использования в интрасети и экстрасети для его mk-htmlindex, который индексирует каталог файлов без файла index.html и переопределяет настройки Apache по умолчанию. Это позволяет форматировать и контролировать заголовок файла при создании списка каталогов. Ничего нового, но мне также понравился скрипт Джонсона text2html, который преобразует текстовые файлы в html. У меня было много случаев, когда мне нужно было конвертировать множество файлов в простой HTML. Это может сэкономить мне время по сравнению с обычным процессом загрузки текстовых файлов в Dreamweaver и применения шаблона один за другим.

В конце — Джонсон написал книгу, которая рассматривает оболочку с нескольких точек зрения:

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

Вероятно, что-то есть для каждого типа пользователя оболочки в рецептах сценариев оболочки, что должно отражать взгляд на оглавление (PDF).