我想在Perl腳本中傳遞一個變量來curl命令。但它失敗了。如何在perl腳本中傳遞一個變量來curl命令?
但是,當我從命令提示符運行相同的curl命令它正在工作。
my $id=3;
system('curl -D- -u username:password -X PUT --data {\"fields\":{\"priority\":{\"id\":\"${id}\"}}} -H "Content-Type: application/json" -k https:request);
當我執行上面的Perl腳本,我得到如下錯誤。
{"errorMessages":[],"errors":{"priority":"The priority selected is invalid."}}after curl command
當我從命令提示符通過用值替換id來運行上述命令時,它正在傳遞。
'curl -D- -u username:password -X PUT --data {\"fields\":{\"priority\":{\"id\":\"3 \"}}} -H "Content-Type: application/json" -k https:request
請幫幫我,讓我知道什麼是錯在我的代碼。
嗨鮑比,讓你的系統調用的值存儲到變量並將其打印到錯誤日誌(警告),查看您所呼叫的準確命令更改代碼。我注意到的一個區別是,在工作版本中,您爲ID添加了空格。也許這是原因? HTH George –
my $ var = qq('curl -D- -u username:password -X PUT --data {\「fields \」:{\「priority \」:{\「i ...); warn $ var; system($ var); –
感謝您的回覆。 運行完您的建議後,我可以看到命令爲: curl -D- -u username:pass -X PUT --data {「fields」 :{「priority」:{「id」:「3」}}} -H「Content-Type:application/json」-k https:網站 但是我收到另一個錯誤如下 {「errorMessages」 :[「意外字符('f'(code 102)):期待雙引號在[Source:[email protected];行:1,列:3]「]}後curl命令 謝謝!! – Bobby