2017-07-17 56 views
2

我有這樣的bash腳本代碼:創建具有捲曲-f參數的循環

#!/bin/bash 
FILES=/home/user/Downloads/asd/ 
for f in $FILES 
do 
curl -F dir="@/home/user/Downloads/asd;$f" -F Match=3 -F "Name=DrKla" \ 
-F countNo=1 -F outputFormat=json "http://somelink.com" 
done 

裏面的asd文件夾中有6個文件,我希望他們能夠通過1與此代碼被上傳1作爲一個參數-F "[email protected]"

當我運行我的代碼我得到的錯誤:

Warning: skip unknown form field: /home/user/Downloads/asd/

curl: (43) A libcurl function was given a bad argument

下面是代碼的單個文件的工作版本:

curl -F dir="@/home/user/Downloads/asd/count.txt" -F Match=3 -F "Name=DrKla" \ 
-F countNo=1 -F outputFormat=json "http://somelink.com" 

所以我想要在asd文件夾中的所有文件都像這樣讀取和上傳。我沒有看到我的do循環出了什麼問題。

回答

1

的問題似乎是,你只給一個路徑,而不是一個路徑*的所有文件參考,並有一個奇怪的分號;在你的路徑:

#!/bin/bash 
FILES=/home/user/Downloads/asd/* 
for f in $FILES 
do 
    curl -F dir="@$f" -F Match=3 -F "Name=DrKla" \ 
     -F countNo=1 -F outputFormat=json "http://somelink.com" 
done 

我不是確定@是用於還是需要,但$f應該已經包含路徑。

+0

嗨,非常感謝你用這個確切的代碼它的工作原理。我真的不知道爲什麼@在那裏,但它是一個必須它似乎cus當我刪除它的代碼不起作用。但是你給這個版本的作品就像是一種魅力。謝謝 –