Ответ
Для интерактивной командной строки я часто использую 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 с его конвейерами объектов.