-1
我不得不建立一個捲曲命令紅寶石執行多行CMD串
cmd = %Q(curl --tlsv1.2 -b #{config['cookies']} -C#{config['cookies']} --
connect-timeout 60 -X POST
-H 'Content-Type: application/xml'
-H 'Accept: application/xml'
-d '#{xml_content}'
--location #{uri})
puts cmd
的輸出是作爲遵循當字符串打印
curl --tlsv1.2 -b /tmp/cookie.txt -c /tmp/cookie.txt --connect-timeout 60 -X POST
-H 'Content-Type: application/xml'
-H 'Accept: application/xml'
-d '<?xml version="1.0" encoding="UTF-8" ?>
<ns:login xmlns:ns="http://www.actility.com/smp/ws/admin">
<login>hello</login><password>wPa4GwYbRTCw0Uy!</password></ns:login>'
--location https://myapi.application.com
如何在紅寶石執行它的w/o修改將cmd字符串轉換爲單個cmd?
我得到這個錯誤 'curl:沒有指定URL! curl:嘗試'curl --help'或'curl --manual'以獲取更多信息 sh:2:-H:找不到 sh:3:-H:找不到 sh:4:-d:找不到 sh:7: - location:not found# –
我看到了問題。傳遞給'%x()'的字符串換行就像在終端中打到一樣。爲了防止發送命令,你需要通過預置一個'\'(如建議的anquegi)來轉義換行符,或者你只需刪除換行符以執行; '%×(#{cmd.tr( 「\ n」 個, '')})'。 –