2017-04-25 87 views
0

我一直在尋找解決方案來解決我的問題,特別是在https://stackoverflow.com的4個帖子中標題中的錯誤名稱相同,但解決方案對我無效。

我想在Bash腳本中做幾個簡單的cURL請求。無論請求是什麼,文件末尾的請求總是有效的。然而,在返回錯誤之前請求:

curl: (3) Illegal characters found in URL

我很確定它與我的文件中的回車有關。但我不知道如何處理它。正如我在下面的圖片中顯示的,我嘗試使用${url1%?}。我也試過${url1%$'\r'},但它沒有改變任何東西。在終端文件+結果

截圖:

screenshot of file + results in terminal

任何想法?

+0

對不起......我沒有看到現有的轉換前問題,因爲我正在尋找有關捲曲的問題。 –

回答

2

如果您的線條與\r結束,從$url剝去\r將無法​​正常工作,因爲線

curl -o NUL "{url1%?} 

也有\r,這又是附加到URL參數結束。

註釋掉\r,即

url1="www.domain.tld/file" 
curl -o NUL "${url1%?}" # 

url1="www.domain.tld/file" # 
curl -o NUL "$url1" # 

或文件執行它

tr -d '\r' <test.sh> testWithoutR.sh 
+0

該評論不起作用(終端仍然檢測到它),但你最後的伎倆,謝謝。你知道爲什麼這個文件會在每行末尾自動放上一個'\ r'嗎? –

+0

在每行的末尾添加空註釋是一個可怕的建議,與簡單地用預期的換行符保存文件相比較。 – chepner

+0

謝謝chepner把我和其他職位聯繫起來。我已經改變了行結尾格式,現在它可以工作。 –