•Arnošt Havelka
Преміум: Практикум зі сценаріїв Bash
Поєднайте змінні, функції, цикли та умовні оператори, щоб вирішити реалістичний багатоетапний сценарій.
Почати інтерактивний урокТепер давайте об'єднаємо все: змінні, функції, цикли та умовні оператори, щоб створити реальний сценарій автоматизації.
Крок 1: Створення основи
Command Prompt
(empty)
C:\Users\User>ls
Створіть кілька файлів журналів за допомогою циклу. Кожна ітерація створює новий файл.
Крок 2: Аналіз результатів
Command Prompt
log_1.txt
log_2.txt
log_3.txt
C:\Users\User>ls backups
Використовуйте шаблони глобу, щоб обробити всі файли одночасно.
Крок 3: Вилучення та підрахунок
Command Prompt
Log entry 1
Log entry 2
Log entry 3
C:\Users\User>cat backups/*.txt
Поєднайте канали та команди, щоб отримати значущу статистику з ваших даних.
Реальний сценарій
Ви керуєте 10 мікросервісами. Кожен з них генерує журнал розгортання. Створіть сценарій, який:
- Створює каталог резервних копій із усіма поточними журналами.
- Фільтрує рядки з помилками.
- Підраховує загальну кількість помилок у всіх сервісах.
function check_deploys {
mkdir -p backup_deploys
for service in web api cache queue worker db; do
if [ -f "$service.log" ]; then
cp "$service.log" backup_deploys/
error_count=$(grep -c 'ERROR' "backup_deploys/$service.log")
echo "Service $service has $error_count errors"
fi
done
}
check_deploys
Список перевірок, який можна повторно використовувати
- Ітеруйте за допомогою
for var in list; do ...; done. - Перевіряйте умови за допомогою
if [ test ]; then ...; fi. - Захоплюйте вивід за допомогою
$(command). - Обробляйте файли за допомогою
cat *.ext | grep | wc -l. - Організовуйте за допомогою функцій, які об'єднують пов'язані завдання.
Перевірка знань
1 / 2Як запустити команду та зберегти її результат у змінній?
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.