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>
[...]

Reply via email to