如何在 ruby 脚本调用的命令行中嵌入 json?
How to embed json in a command line called in a ruby script?
我正在尝试 运行 在 ruby 脚本中执行以下命令(有效)
knife bootstrap windows winrm 'mynode' -N 'mynode' -x 'Administrator' -P 'password' -p 5985 -j '{"db-mssql" : {"full_install" : true, "cluster_install" : true}}'
我试过这个...
cmd=%Q{knife bootstrap windows winrm 'mynode' -N 'mynode' \
-x 'Administrator' -P 'password' -p 5985 \
"echo '{\"db-mssql\" : { \"full_install\" : true, \"cluster_install\" : false}}' | -j /dev/stdin"}
puts (cmd)
system(cmd)
...还有这个...
cmd=%Q{knife bootstrap windows winrm 'mynode' -N 'mynode' \
-x 'Administrator' -P 'password' -p 5985 \
-j '{\"db-mssql\" : { \"full_install\" : true, \"cluster_install\" : false}}'}
puts (cmd)
system(cmd)
...导致解释器出现 JSON 解析错误。正确的语法是什么?
只需使用 ruby 哈希,然后对其调用 .to_json。
确保 'require json' 以获得 .to_json 功能。
我正在尝试 运行 在 ruby 脚本中执行以下命令(有效)
knife bootstrap windows winrm 'mynode' -N 'mynode' -x 'Administrator' -P 'password' -p 5985 -j '{"db-mssql" : {"full_install" : true, "cluster_install" : true}}'
我试过这个...
cmd=%Q{knife bootstrap windows winrm 'mynode' -N 'mynode' \
-x 'Administrator' -P 'password' -p 5985 \
"echo '{\"db-mssql\" : { \"full_install\" : true, \"cluster_install\" : false}}' | -j /dev/stdin"}
puts (cmd)
system(cmd)
...还有这个...
cmd=%Q{knife bootstrap windows winrm 'mynode' -N 'mynode' \
-x 'Administrator' -P 'password' -p 5985 \
-j '{\"db-mssql\" : { \"full_install\" : true, \"cluster_install\" : false}}'}
puts (cmd)
system(cmd)
...导致解释器出现 JSON 解析错误。正确的语法是什么?
只需使用 ruby 哈希,然后对其调用 .to_json。
确保 'require json' 以获得 .to_json 功能。