簡體   English   中英

如何將包含特殊字符的命令行參數傳遞給通過Perl或Bash啟動的進程?

[英]How can I pass command-line arguments containing special characters to a process launched via Perl or Bash?

我需要啟動curl進行測試。 我需要發送包含/和其他瘋狂內容的XML。最快的方法是什么?

curl -k -d '<xs:element name="Login"/>' https://thewebsite.com/page.exe

沒有運氣。

在Perl中,使用system的列表形式:

system curl 
    => qw(-k -d '<xs:element name="Login"/>' https://thewebsite.com/page.exe);

或者更好的方法是使用WWW :: Curl (另請參見libcurl文檔 )。

使用'qw'引用此處答案之一中給出的參數是不正確的,qw會顯式轉義並在xs標記周圍傳遞單引號,而在OP的示例中,它們不會

你可以用...

system('curl', '-k', '-d', '<xs:element name="Login"/>', 
       'https://thewebsite.com/page.exe');

這應該是你所追求的。 我會嘗試使用該模塊。

反斜杠轉義它。

\"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM