Какие альтернативы Bash для скриптинга и автоматизации ты знаешь?

«Какие альтернативы Bash для скриптинга и автоматизации ты знаешь?» — вопрос из категории Скриптинг и автоматизация, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для интерактивной командной строки я часто использую Zsh с фреймворком Oh My Zsh — это даёт мощное автодополнение, темы и плагины (например, для Git). Для быстрого написания скриптов, особенно в CI/CD, предпочитаю Python из-за его кроссплатформенности и богатой стандартной библиотеки.

Пример простого скрипта на Python для проверки доступности сервисов:

import subprocess
import sys

services = ["nginx", "postgresql", "redis"]
for service in services:
    result = subprocess.run(["systemctl", "is-active", "--quiet", service])
    if result.returncode != 0:
        print(f"Сервис {service} не активен!")
        sys.exit(1)
print("Все сервисы работают.")

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

В среде Windows или для работы с объектами инфраструктуры (.NET, Azure) эффективен PowerShell с его конвейерами объектов.