簡體   English   中英

shell 腳本中的多個 curl 命令

[英]Multiple curl commands in shell script

我在 shell 腳本 test.sh 中有以下帶有 3 個 curl 命令的代碼。

curl -o C:\Users\user1\folder1\folder2\folder3\folder4\25Oct2021.gz "https://abc.xyz.aaa.com/v3/test-logs/download?userID=AA4d3DFF&fileName=25Oct2021.gz" --header "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx"
curl -o C:\Users\user1\folder1\folder2\folder3\folder4\24Oct2021.gz "https://abc.xyz.aaa.com/v3/test-logs/download?userID=AA4d3DFF&fileName=24Oct2021.gz" --header "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx"
curl -o C:\Users\user1\folder1\folder2\folder3\folder4\23Oct2021.gz "https://abc.xyz.aaa.com/v3/test-logs/download?userID=AA4d3DFF&fileName=23Oct2021.gz" --header "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx"

我使用的是 Windows 10 機器,當我嘗試使用sh test.sh在命令提示符下執行 shell 腳本時,文件沒有按預期下載。 如果我使用單獨的 curl 命令並在命令提示符下執行它們,它們就可以正常工作。 我嘗試調整 shell 腳本並刪除 "\\r" 並運行它。 我可以嘗試做任何其他事情嗎?

我編輯了 Shell 腳本以僅運行其中一個 curl 命令,結果如下。

這是將 shell 腳本作為sh test.sh運行的輸出

>sh test1.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    29    0    29    0     0     29      0 --:--:-- --:--:-- --:--:--    56

這是單個 curl 命令之一的輸出:

curl -o C:\Users\user1\folder1\folder2\folder4\folder4\25Oct2021.gz "https://abc.xyz.aaa.com/v3/test-logs/download?userID=AA4d3DFF&fileName=25Oct2021.gz" --header "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4035k    0 4035k    0     0   672k      0 --:--:--  0:00:06 --:--:--  838k

\\是 (ba)sh 中的轉義字符,但不是 Windows 命令提示符中的轉義字符,這解釋了執行中的差異。

您需要將反斜杠 ( \\\\ ) 加倍,將每個包含反斜杠的字符串括在單引號 ( ' ) 內,或者用正斜杠 ( / ) 替換所有反斜杠。

暫無
暫無

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

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