0

我需要在需要Openmediavault命令的JSON中输入一个值。有问题的命令是这样的:

omv-rpc -u admin 'ShareMgmt' 'set'  '{"name":"120GB","mntentref":"71fdbd90-ce16-4726-ad8d-35ba8664b4c6","reldirpath": "/","mode": "775","comment": "","uuid": "fa4b1c66-ef79-11e5-87a0-0002b3a176b4"}'

但我需要介绍另一个我保存在变量中的JSON 。我已经像这样安装它:

JSON_STRING=$( jq -n \
                  --arg referencia "$code_val" \
                  '{name:"120GB",mntentref:$referencia ,reldirpath: "/",mode: "775",comment: "",uuid: "fa4b1c66-ef79-11e5-87a0-0002b3a176b4"}')

出口回声 $JSON_STRING

{"name":"120GB","mntentref":"71fdbd90-ce16-4726-ad8d-35ba8664b4c6","reldirpath": "/","mode": "775","comment": "","uuid": "fa4b1c66-ef79-11e5-87a0-0002b3a176b4"}

现在我想构建第一个函数并发送我通过参数创建的JSON,但我不知道该怎么做,你能帮帮我吗?

我试过这种方式,但它给出了错误。我对Debian 控制台命令知之甚少:

omv-rpc -u admin 'ShareMgmt' 'set' '{'echo $JSON_STRING'}'
4

1 回答 1

1

您需要使用Shell Parameter Expansion来访问变量:

omv-rpc -u admin 'ShareMgmt' 'set' "${JSON_STRING}"
于 2022-02-25T07:32:46.670 回答