Сценарии оболочки есть везде, особенно те, которые написаны с синтаксисом, совместимым с bash. Но эти сценарии могут быть сложными и неясными. Сложность — враг безопасности, но также и враг удобочитаемости и понимания. С помощью этой практической книги вы научитесь расшифровывать старый код bash и писать новый код, максимально понятный и читаемый.
Авторы Карл Альбинг и Дж. П. Воссен покажут вам, как использовать мощь и гибкость оболочки в своих интересах. Вы можете знать достаточно, чтобы выжить, но эта книга поднимет ваши навыки от управляемых до великолепных. Используете ли вы Linux, Unix, Windows или Mac, вы научитесь читать и писать сценарии на уровне эксперта. Ваше будущее будет вам благодарно.
Вы изучите четкие идиомы, которые следует использовать, и непонятные, которых следует избегать, чтобы вы могли:
Пишите полезный, гибкий и читаемый код bash в стиле, совместимом с разработчиками по всему миру.
Экономьте время и обеспечьте согласованность при автоматизации задач
Узнайте, как идиомы bash могут сделать ваш код чистым и лаконичным
Author(s): Олбинг К., Фоссен Дж.П.
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2023
Language: Russian
City: Санкт-Петербург
Tags: Bash; Linux; GNU/Linux; Bash Programming Language; Shell Scripting; Software Programming; Best Practices;
Вступление
Запуск 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
В заключение
Приложение. Руководство по стилю
Удобочитаемость
Комментарии
Имена
Функции
Кавычки
Форматирование
Синтаксис
Другие рекомендации
Шаблон сценария
Об авторах
Иллюстрация на обложке