Сценарии на языке командной оболочки получили самое широкое распространение, особенно написанные на языках, совместимых с bash. Но эти сценарии часто сложны и непонятны. Сложность — враг безопасности и причина неудобочитаемости кода. Эта книга на практических примерах покажет, как расшифровывать старые сценарии и писать новый код, максимально понятный и легко читаемый.
Авторы покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится.
Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Author(s): Карл Олбинг, Джей Пи Фоссен
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2023
Language: Russian
Commentary: Publisher's PDF
Pages: 208
City: СПб.
Tags: Linux; Unix; Programming; Best Practices; Shell Scripting; bash
Вступление
Запуск bash
Управление версиями
Hello World
Условные обозначения
Использование исходного кода примеров
Благодарности
От издательства
Глава 1. Идиома «большого» if
«Большой» if
Или ELSE...
Выполняем несколько команд
Еще о случае нескольких команд
Так делать не нужно!
В заключение: стиль и удобочитаемость
Глава 2. Язык циклов
Циклические конструкции
Явные значения
Почти как в Python
Кавычки и пробелы
Разработка и тестирование циклов for
Циклы while и until
В заключение: стиль и удобочитаемость
Глава 3. На всякий случай: оператор Case
Сделайте свой выбор
Применение на практике
Задача
Наш сценарий
Сценарии-обертки
Еще один важный момент
В заключение: стиль и удобочитаемость
Глава 4. Язык переменных
Ссылка на переменную
Дополнительные параметры
Сокращенный вариант команды basename
Удаление пути или префикса
Сокращенный вариант команды dirname или удаление суффикса
Другие модификаторы
Условные подстановки
Значения по умолчанию
Списки значений, разделенных запятыми
Изменение значения
$RANDOM
Подстановка команд
В заключение: стиль и удобочитаемость
Глава 5. Выражения и арифметика
Арифметика
Круглые скобки не нужны
Составные команды
В заключение: cтиль и удобочитаемость
Глава 6. Функции
Вызов функций
Определение функций
Параметры функций
Возвращаемые значения функций
Локальные переменные
Особые случаи
Функция printf
Вывод POSIX
Получение и использование даты и времени
printf для повторного использования или отладки
В заключение: стиль и удобочитаемость
Глава 7. Списки и хеши
Сходные черты
Списки
Хеши
Пример подсчета слов
В заключение: cтиль и удобочитаемость
Глава 8. Аргументы
Ваш первый аргумент
Поддержка ключей
Анализ ключей
Длинные ключи
СПРАВКА!
Отладочный и подробный режимы вывода
Версия
В заключение: стиль и удобочитаемость
Глава 9. Файлы и не только
Чтение файлов
read
mapfile
Метод «грубой силы»
Изменяем $IFS при чтении файлов
Имитации файлов
Настроечные каталоги
Организация библиотек
Shebang!
Строгий режим bash
Код выхода
Это ловушка!
Встроенные документы и строки
Код выполняется в интерактивном режиме?
В заключение
Глава 10. Помимо идиом: работа с bash
Приглашения к вводу
Часовой пояс в приглашении
Получение ввода пользователя
read
pause
select
Псевдонимы
Функции
Локальные переменные
Возможности Readline
Журналирование в bash
Обработка JSON с помощью jq
Поиск в списке процессов
Ротация старых файлов
Встроенная документация
Отладка в bash
Модульное тестирование в bash
В заключение
Глава 11. Разработка своего руководства по стилю
Удобочитаемость
Комментарии
Имена
Функции
Кавычки
Форматирование
Синтаксис
Другие рекомендации
Шаблон сценария
Другие руководства по стилю
Инструмент проверки оформления кода на bash
В заключение
Приложение. Руководство по стилю
Удобочитаемость
Комментарии
Имена
Функции
Кавычки
Форматирование
Синтаксис
Другие рекомендации
Шаблон сценария
Об авторах
Иллюстрация на обложке