Eduardo Habkost <ehabk...@redhat.com> writes: > On Tue, Aug 15, 2017 at 12:03:53PM +0200, Markus Armbruster wrote: >> Eduardo Habkost <ehabk...@redhat.com> writes: >> >> Suggest to insert here: >> >> If additional arguments QMP-COMMAND ARG=VAL... are given, run just >> that QMP command instead of the REPL. >> >> Question: is this limited to simple arguments? If no, how would I write >> an object argument? For instance, how would I do >> >> { "execute": "blockdev-add", "arguments": { "node-name": "foo", >> "driver": "nbd", "server": { "type": "inet", "host": "localhost", "port": >> "12345" } } } >> >> ? > > Exactly the same way you would write it when running qmp-shell in > interactive mode. e.g.: > > $ ./scripts/qmp/qmp-shell /tmp/qmp blockdev-add driver=qcow2 > node-name=node-E 'file={"driver":"file","filename":"/path/to/file.qcow2"}'
I see. The QEMU command line uses dotted key syntax instead. To be honest, the less qmp-shell is used, the happier I am. Would you like to serve as its sub-maintainer? >> > This is useful for testing QMP commands in scripts. >> > >> > Example usage, combined with 'jq' for filtering the results: >> > >> > $ ./scripts/qmp/qmp-shell /tmp/qmp qom-list path=/ | jq -r .return[].name >> > machine >> > type >> > chardevs >> > backend >> >> What's jq? > > https://stedolan.github.io/jq/ > > "like sed for JSON data" A fine addition to your commit message. >> >> > $ >> >> Let's drop this line. > > Will do it. > >> >> > >> > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> [...]