आपका पहला आदेश बिना व्हाट्सएप के काम करना चाहिए:
curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY
उपरोक्त URL में "/" अनुगामी भी नोट करें।
यह कर्ल के मैनुअल प्रविष्टि "विकल्प -T" के बारे में है:
-टी, --अपलोड-फाइल
यह निर्दिष्ट स्थानीय फ़ाइल को दूरस्थ URL पर स्थानांतरित करता है। यदि निर्दिष्ट URL में कोई फ़ाइल भाग नहीं है, तो कर्ल स्थानीय फ़ाइल नाम को जोड़ देगा। ध्यान दें कि आपको कर्ल को वास्तव में साबित करने के लिए एक अनुगामी / अंतिम निर्देशिका का उपयोग करना चाहिए कि कोई फ़ाइल नाम नहीं है या कर्ल यह सोचेंगे कि आपके अंतिम निर्देशिका नाम का उपयोग करने के लिए दूरस्थ फ़ाइल नाम है। यह सबसे अधिक संभावना है कि अपलोड ऑपरेशन विफल हो जाएगा। यदि यह एक HTTP (S) सर्वर पर उपयोग किया जाता है, तो PUT कमांड का उपयोग किया जाएगा।
किसी दिए गए फ़ाइल के बजाय स्टडिन का उपयोग करने के लिए फ़ाइल नाम "-" (एक एकल डैश) का उपयोग करें। वैकल्पिक रूप से, फ़ाइल नाम "।" (एकल अवधि) को "-" के बजाय निर्दिष्ट किया जा सकता है, जबकि स्टड को अपलोड किया जा रहा है, जबकि रीडिंग सर्वर आउटपुट पढ़ने की अनुमति देने के लिए नॉन-ब्लॉकिंग मोड में स्टडिन का उपयोग करना।
आप कमांड लाइन पर प्रत्येक URL के लिए एक-टी निर्दिष्ट कर सकते हैं। प्रत्येक -T + URL जोड़ी निर्दिष्ट करती है कि क्या अपलोड करना है और कहां पर है। कर्ल भी -T तर्क के "ग्लोबिंग" का समर्थन करता है, जिसका अर्थ है कि आप URL में समर्थित एक ही URL ग्लोबिंग शैली का उपयोग करके एक ही URL पर कई फाइलें अपलोड कर सकते हैं:
curl -T "{file1,file2}" http://www.uploadtothissite.com
या और भी
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
* ".txt" विस्तार काम नहीं करता है क्योंकि यूआरएल के लिए कर्ल केवल एक ही सिंटैक्स का समर्थन करता है:
आप ब्रेसिज़ के भीतर भाग सेट लिखकर कई URL या URL के कुछ भाग निर्दिष्ट कर सकते हैं:
http: // साइट । {एक, दो, तीन} .com
या आप अल्फ़ान्यूमेरिक श्रृंखला के अनुक्रम प्राप्त कर सकते हैं जैसे कि [] का उपयोग करके:
ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file पर I001-100acing.txt (अग्रणी शून्य के साथ)
ftp://ftp.letters.com/file[az].txt
[...]
कमांड लाइन प्रॉम्प्ट से आह्वान करने पर [] या {} अनुक्रमों का उपयोग करते समय, आपको संभवतः शेल से बचने के लिए शेल से बचने के लिए पूर्ण उद्धरण को दोहरे उद्धरण चिह्नों के भीतर रखना होगा। यह विशेष व्यवहार किए गए अन्य पात्रों के लिए भी जाता है, जैसे '&', '?' तथा '*'।
लेकिन आप इस तरह से "सामान्य" शेल ग्लोबिंग का उपयोग कर सकते हैं:
curl -T "{$(echo *.txt | tr ' ' ',')}" ftp://XXX/ -user YYY
(अंतिम उदाहरण सभी गोले या किसी भी प्रकार की विदेशी फ़ाइल नामों के साथ काम नहीं कर सकता है।)
$(perl -e 'print join(",",@ARGV)' *.txt)
सही ढंग से रिक्त स्थान के साथ फ़ाइल नाम संभालेंगे।