[英]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.