Полные сценарии оболочки для второго издания Wicked Cool Shell Scripts
https://www.nostarch.com/wicked2
Использование сценария wcss_shell.sh
настроит вашу среду bash так, чтобы сценарии можно было вызывать из PATH, а не вызывать относительно или абсолютно.
Глава 0: Ускоренный курс
В этой главе основное внимание уделяется тому, чтобы начинающий пользователь командной строки познакомился с тем, что такое сценарии оболочки, как их создавать и почему они полезны.
Глава 1: Недостающая библиотека кода
Языки программирования в среде Unix, особенно C, Perl или Python, имеют обширные библиотеки полезных функций и утилит для проверки числовых форматов, расчета смещения дат и выполнения многих других полезных задач. При работе с оболочкой мы в большей степени предоставлены самим себе, поэтому в этой первой главе основное внимание уделяется различным инструментам и хакам, позволяющим сделать сценарии оболочки более дружелюбными как на протяжении всей книги, так и в наших собственных сценариях. Я включил различные функции проверки ввода, простой, но мощный интерфейс для bc с поддержкой сценариев, инструмент для быстрого добавления запятых для улучшения представления очень больших чисел, метод обхода Unix-систем, которые не поддерживают полезный флаг -n. для эха и скрипт включения для использования последовательностей цветов ANSI в скриптах.
Глава 2 и Глава 3: Улучшение команд и создание утилит
В этих двух главах представлены новые команды, которые расширяют и расширяют Unix различными полезными способами. Действительно, одним замечательным аспектом Unix является то, что он постоянно растет и развивается, о чем свидетельствует распространение командных оболочек, таких как ksh и zsh, а также альтернатив bash. Я так же виновен в содействии этой эволюции, как и следующий хакер, поэтому в этой паре глав представлены сценарии, реализующие удобный интерактивный калькулятор, функцию удаления, две разные системы напоминаний/отслеживания событий, повторную реализацию командыlocate. , полезный интерфейс для проверки правописания, команду даты для нескольких часовых поясов и новую версию ls, которая повышает полезность списков каталогов.
Глава 4: Настройка Unix
Возможно, это ересь, но в Unix есть аспекты, которые кажутся сломанными даже после десятилетий разработки. Если вы перемещаетесь между различными вариантами Unix, особенно между дистрибутивами Linux с открытым исходным кодом и коммерческими Unix, такими как OS X, Solaris или Red Hat, вы знаете об отсутствующих флагах, отсутствующих командах, противоречивых командах и подобных проблемах. Поэтому в эту главу включены как переписанные, так и внешние интерфейсы команд Unix, чтобы сделать их более дружелюбными и более совместимыми с другими Unix-системами. Сценарии включают в себя метод добавления полных командных флагов в стиле GNU к командам, отличным от GNU, а также пару интеллектуальных сценариев, значительно упрощающих работу с различными утилитами сжатия файлов.
Глава 5 и Глава 6: Инструменты системного администрирования
Если вы взяли в руки эту книгу, скорее всего, у вас есть как административный доступ, так и административная ответственность в одной или нескольких системах Unix, даже если это всего лишь персональный компьютер Ubuntu или BSD. Эти две главы предлагают довольно много сценариев, которые улучшат вашу жизнь как администратора, включая использование диска, инструменты анализа, систему дисковых квот, которая автоматически отправляет электронное письмо пользователям, у которых превышена выделенная квота, инструмент, который суммирует, какие службы включены независимо от того, используете ли вы используйте inetd или xinetd, повторную реализацию killall, валидатор crontab, инструмент ротации файлов журналов и пару утилит резервного копирования.
Глава 7: Интернет-пользователи и пользователи Интернета
Интернет в наши дни повсеместно распространен. Эта глава включает в себя несколько действительно интересных хаков для сценариев оболочки, которые показывают, как командная строка Unix может предложить замечательные и довольно простые методы работы с ресурсами в Интернете, включая инструмент для извлечения URL-адресов с любой веб-страницы. Трекер погоды, инструмент поиска по базе данных фильмов, трекер портфолио акций и трекер изменений для веб-сайта с автоматическим уведомлением по электронной почте при появлении изменений.
Глава 8. Советы для веб-мастеров
Другая сторона веб-медали, конечно же, — это когда вы запускаете веб-сайт либо из своей собственной системы Unix, либо на общем сервере в другом месте сети. Если вы веб-мастер, сценарии в этой главе предлагают довольно интересные инструменты для создания веб-страниц «на лету», обработки контактных форм, создания веб-фотоальбома и даже возможности регистрации поисковых запросов в Интернете.
Глава 9 и Глава 10: Веб-администрирование и Интернет-администрирование
В этих двух главах рассматриваются проблемы, стоящие перед администратором сервера, подключенного к Интернету, включая два разных сценария для анализа различных аспектов журнала трафика веб-сервера, инструменты для выявления неработающих внутренних или внешних ссылок на веб-сайте, сценарий проверки орфографии веб-страницы, и удобный инструмент управления веб-паролями Apache, который упрощает поддержание точности файла .htaccess. Также изучаются методы зеркалирования каталогов и целых веб-сайтов с помощью инструментов зеркалирования.
Глава 11: Скрипты Mac OS X
OS X — это огромный шаг вперед в интеграции Unix и привлекательного, коммерчески успешного графического интерфейса пользователя. Что еще более важно, поскольку каждая система OS X включает в себя полную версию Unix, спрятанную за красивым интерфейсом, можно написать ряд полезных и обучающих сценариев, и именно это исследуется в этой главе. В дополнение к переписанию adduser, позволяющему настраивать учетные записи пользователей OS X за секунду из командной строки, сценарии в этой главе исследуют, как OS X обрабатывает псевдонимы электронной почты, как iTunes хранит свою музыкальную библиотеку и как изменить окно терминала. заголовки и улучшить полезную команду открытия.
Глава 12: Развлечения и игры
Какая книга по программированию без хотя бы нескольких игр? В этой главе объединены многие из самых сложных приемов и идей книги, и представлены три веселые и сложные игры. Хотя это и интересно, но код каждого из них также стоит изучить по мере чтения главы. Особо следует отметить игру Hangman, в которой демонстрируются некоторые умные приемы кодирования и приемы сценариев оболочки.
Глава 13: Работа с облаком
С момента первой публикации этой книги Интернет берет на себя все больше и больше обязанностей в нашей повседневной жизни. Многие из этих обязанностей связаны с синхронизацией устройств и файлов с облачными сервисами, такими как iCloud, Dropbox и Google Drive. В этой главе рассматриваются сценарии оболочки, позволяющие нам в полной мере воспользоваться преимуществами этих служб для обеспечения резервного копирования и синхронизации файлов или каталогов, а также несколько сценариев оболочки, демонстрирующих конкретные функции OS X для фотографий или преобразования текста в речь.
Глава 14: ImageMagick и работа с графическими файлами
Приложения командной строки не обязательно должны ограничиваться только текстовыми данными или графикой. Эта глава посвящена идентификации изображений и управлению ими из командной строки с использованием набора инструментов обработки изображений, включенного в программное обеспечение с открытым исходным кодом ImageMagick. От определения типов изображений до создания рамок и нанесения водяных знаков на изображения — мы пишем сценарии оболочки для выполнения общих задач с изображениями, а также еще нескольких вариантов использования.
Глава 15: Дни и даты
Мы постоянно имеем дело с датами и встречами, и выяснение того, сколько времени прошло между двумя датами, каким днем была данная дата или сколько дней осталось до указанной даты — все это общие проблемы, с которыми мы сталкиваемся. В последней главе этой книги мы расскажем, как можно решить эти проблемы с помощью простых в использовании сценариев оболочки.