#!/bin/bash readlast() { local \ index \ indices \ lastupdatelines \ time \ values \ readarray -t lastupdatelines < <( rrdtool lastupdate $rrdfile ) indices=( ${lastupdatelines[0]} ) time=${lastupdatelines[2]%:*} last["time"]=${time:-0} values=( ${lastupdatelines[2]#*:} ) for index in ${!indices[@]} do last["${indices[index]}"]=${values[index]} done }