Ошибка 'echo' оболочки с ENV VAR была проанализирована из вывода 'redis-cli INFO' - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь отслеживать работоспособность Redis с помощью агента Zabbix и хочу проанализировать вывод для команды redis-cli INFO:

$ redis-cli INFO
# Server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9435c3c2879311f3
...

с помощью скрипта shell и создать файл JSON с подмножеством информационных значений:

{
  "redis_version": "4.0.9",
  "used_memory": 100,
  "used_memory_rss": 200
}

Но у меня возникает ошибка при попытке вывести проанализированные значения на консоль. Это мой демонстрационный скрипт:

#!/bin/bash
FILE_ECHO="/tmp/test_out.txt"
FILE_REDIS="/tmp/test_redis.txt"

echo "redis_version:4.0.9" >${FILE_ECHO}
/usr/bin/redis-cli INFO >${FILE_REDIS}

ECHO_VERSION=$(grep "redis_version" "${FILE_ECHO}")
REDIS_VERSION=$(grep "redis_version" "${FILE_REDIS}")

echo "{\"node\": \"${ECHO_VERSION}\"}"
echo "{\"node\": \"${REDIS_VERSION}\"}"

Я ожидаю, что результат будет:

{"node": "redis_version:4.0.9"}
{"node": "redis_version:4.0.9"}

в обоих случаях, но на самом деле у меня есть:

{"node": "redis_version:4.0.9"}
"}node": "redis_version:4.0.9

Это мой test_redis.txt.

...