Вы близки, но я не уверен, чего вы пытаетесь достичь с частью x$i=$(
.
Вам подходит следующее?
for i in {45..59}; do
stats --var ds:sys:odx --diff --show --from "2019-03-28,05:${i}:00"
sleep 60
done
Если вы предпочитаете получать время динамически, вы можете сделать что-то вроде этого:
for ((i=0; i<15; i++)); do
stats --var ds:sys:odx --diff --show --from "$(date '+%F,%H:%M:%S')"
sleep 60
done
Команда будет запускаться раз в минуту в течение 15 минут, каждый раз получая текущую дату/время в требуемом формате.
Это полностью зависит от реализации программного обеспечения, которое считывает и анализирует файл конфигурации. Иногда возникает ошибка, иногда учитывается первая запись, а иногда вступает в силу последняя запись.
Не существует всеобъемлющего процесса, управляющего чтением и анализом файлов конфигурации.