我正在運行一個perl腳本,該腳本使用參數調用bash腳本。 它從套接字讀取一個字符串,將其拆分並將其保存到數組中。這就是這樣一個字符串的樣子:如何傳遞一個空格字符串作爲http POST數據使用curl
22.12.13 20:21:12;RING;0
第一個數組元素是日期,它作爲參數傳遞給bash腳本。 在bash腳本中,參數作爲POST數據傳遞給curl。
我不知道如何處理字符串中的日期和時間之間的空間。 curl正確執行,服務器以OK(200)響應。然而,它只是作爲POST數據傳遞的第一部分(直到空間)。時間不見了。 捲曲給出瞭如下因素的錯誤:
curl: (6) Couldn't resolve host '20:21'
這些都是相關的行從腳本:
#perl script
my $EXTPRO="/path/to/script.sh";
if ($_ =~ /RING/){
my @C = split(/;/);
my @args = ($EXTPRO, $nr, $C[0], "String");
system(@args);
#bash script:
curl http://url.com/add -F foo=$3 -F date=$2 -F foobar=$1
編輯bash腳本以使用引號括起$ 2。日期= 「$ 2」 – Miller