Ответ
Для автоматизации в DevOps мы часто пишем скрипты на Bash и Python. Понимание типов данных критично для обработки вывода команд, парсинга JSON/YAML и работы с API.
В Bash:
- Строки: Основной тип данных. Все переменные по умолчанию — строки.
HOST="api.example.com" echo "Connecting to $HOST" - Массивы: Для хранения списков значений.
SERVERS=("web01" "web02" "db01") for server in "${SERVERS[@]}"; do ssh "$server" "hostname" done - Целые числа: Для арифметических операций (требуют специального синтаксиса).
COUNT=5 ((COUNT++)) echo $COUNT # 6
В Python (наиболее распространен для сложной автоматизации):
str,int,float,bool: Базовые типы.list,dict: Ключевые для работы с конфигурациями (например, из YAML/JSON).tuple: Неизменяемые последовательности.
Практический пример (Python): Скрипт для проверки статуса сервисов из JSON-конфига.
import json
import subprocess
# Чтение конфигурации (словарь и списки)
with open('services.json') as f:
config = json.load(f) # config - это dict
for service in config['monitored_services']: # service - это dict
name = service['name']
port = service['port']
# Проверка доступности порта
result = subprocess.run(['nc', '-z', 'localhost', str(port)], capture_output=True)
is_healthy = result.returncode == 0
print(f"Service {name} (port {port}): {'HEALTHY' if is_healthy else 'UNHEALTHY'}")
Для работы с инфраструктурой часто используются специализированные структуры, например, terraform.tfvars (HCL) или inventory.yml для Ansible, которые парсятся в словари и списки Python.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶