Curl

使用 curl 命令從位置下載文件到子目錄並使用不同的名稱保存

  • May 13, 2018

我正在使用curl從 url 下載文件。目前,我可以使用以下curl命令下載目前目錄中的文件

curl -O http://path/to/url/17.01.24/smcfs-17.01.24.ear

這可以下載文件,但smcfs-17.01.24.ear按預期將其按名稱保存在目前目錄中。但是,我想通過使用 bash 腳本在目前目錄中創建一個目錄來下載並保存此文件,例如

if [[ ! -d "$4" ]]; then
   mkdir "$4"
   curl -O http://path/to/url/$4/smcfs-$4.ear   #I would like curl to fucntion like I said here    
fi

注意:在上面的程式碼片段中,我將版本號17.01.24作為4rth腳本的參數

預期的輸出將是 curl按目錄中smcfs-17.01.24.ear的名稱下載文件,smcfs.ear該目錄17.01.24是目前目錄的子目錄。

我想在不進入子目錄的情況下實現這一點,使用 curl 下載然後回到目前目錄。

我使用以下內容將文件下載到具有給定名稱的目錄中

curl "http://path/to/url/$4/smcfs-$4.ear" --output "$4/smcfs.ear"

您可以通過刪除以下內容來獲得您所追求的行為-O

curl "http://path/to/url/$4/smcfs-$4.ear" > "$4/smcfs.ear"

(之後mkdir)。預設curl將下載的內容輸出到標準輸出;-O告訴它將其保存到與遠端名稱匹配的文件中。

引用自:https://unix.stackexchange.com/questions/342180