Os dados que você recebe de upsc têm o formato keyword: value , um por linha. Você pode passar isso por meio de sed para obter o formulário [keyword]="value" e, em seguida, usar isso para inicializar um array associativo:
declare -A status="($(upsc myups | sed 's/\(.*\): \(.*\)/ []=""/'))"
Agora você pode obter o valor de qualquer palavra-chave, por exemplo, echo "${status[device.model]}" .
Você pode percorrer todas as chaves e valores e fazer o que quiser:
for key in "${!status[@]}"
do echo "$key: ${status[$key]}"
done
Note, se você citar seus valores,
status="$(upsc myups)"
echo "${status[@]}"
você ainda teria um valor único, mas cada valor estaria em uma nova linha, como na saída desejada.