如何使用Curl將本地的所有檔案上傳到主機?

如何使用Curl將本地的所有檔案上傳到主機?

我編寫了一個 shell 腳本來上傳從本地到主機的特定路徑中具有不同名稱的所有文件,但我遇到了一些問題,文件沒有上傳

#!/bin/sh
for file in /main/folder1/path/*
do
curl -u Pass:"Uname" -T  $file http://www.example.com/folder/$file
done

請幫我解決這個問題。

我收到以下錯誤

<html>
<head>
<title> 500 Internal Server Error </title>
</head>
<body>
<h1> 
Internal Server Error 
</h1> 
</body>
</html>

目前我裡面有腳本/main/folder_2,如果我更改/main/folder_1/path/*../folder_1/path/*,我得到輸出,檔案按預期移動。但我想運行指定完整路徑的腳本。

答案1

我會像這樣改變你的腳本:

#!/bin/sh

for file in /folder/path/*
do
  curl -u username:password -T ${file} http://www.example.com/folder/${file}
done

請注意,for 循環變數file與 一起使用curl

更好的方法是使用上傳find + curl(就像回答了SO):

find /folder/path/ -name '*' -type f -exec curl -u USERNAME:PASSWORD -T {} http://www.example.com/folder/ \;

PS 更多信息

一些問題是阻止文件上傳

會有幫助的。

相關內容