Perintah pertama Anda harus bekerja tanpa spasi putih:
curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY
Perhatikan juga tanda "/" di URL di atas.
Ini adalah entri manual curl tentang opsi "-T":
-T, --upload-file
Ini mentransfer file lokal yang ditentukan ke URL jarak jauh. Jika tidak ada bagian file di URL yang ditentukan, Curl akan menambahkan nama file lokal. CATATAN bahwa Anda harus menggunakan trailing / pada direktori terakhir untuk benar-benar membuktikan kepada Curl bahwa tidak ada nama file atau curl akan berpikir bahwa nama direktori terakhir Anda adalah nama file jarak jauh untuk digunakan. Itu kemungkinan besar akan menyebabkan operasi pengunggahan gagal. Jika ini digunakan pada server HTTP (S), perintah PUT akan digunakan.
Gunakan nama file "-" (tanda hubung tunggal) untuk menggunakan stdin alih-alih file yang diberikan. Sebagai alternatif, nama file "." (satu periode) dapat ditentukan sebagai ganti "-" untuk menggunakan stdin dalam mode non-blocking untuk memungkinkan membaca keluaran server saat stdin sedang diunggah.
Anda dapat menentukan satu -T untuk setiap URL di baris perintah. Setiap -T + pasangan URL menentukan apa yang akan diunggah dan ke mana. curl juga mendukung "globbing" dari argumen -T, yang berarti Anda dapat mengunggah banyak file ke satu URL dengan menggunakan gaya globbing URL yang sama yang didukung dalam URL, seperti ini:
curl -T "{file1,file2}" http://www.uploadtothissite.com
atau bahkan
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
Ekspansi "* .txt" tidak berfungsi karena curl hanya mendukung sintaks yang sama dengan URL:
Anda dapat menentukan beberapa URL atau bagian dari URL dengan menulis set komponen dalam kurung kurawal seperti pada:
http: // situs . {satu, dua, tiga} .com
atau Anda bisa mendapatkan urutan seri alfanumerik dengan menggunakan [] seperti pada:
ftp://ftp.numericals.com/file[1-100[.txt
ftp://ftp.numericals.com/file[001-100[.txt (dengan nol di depan)
ftp://ftp.letters.com/file[az[.txt
[...]
Saat menggunakan urutan [] atau {} ketika dipanggil dari prompt baris perintah, Anda mungkin harus memasukkan URL lengkap dalam tanda kutip ganda untuk menghindari shell mengganggu. Ini juga berlaku untuk karakter lain yang diperlakukan spesial, seperti misalnya '&', '?' dan '*'.
Tapi Anda bisa menggunakan shell "globbing" normal seperti ini:
curl -T "{$(echo *.txt | tr ' ' ',')}" ftp://XXX/ -user YYY
(Contoh terakhir mungkin tidak berfungsi di semua shell atau dengan segala jenis nama file eksotis.)
$(perl -e 'print join(",",@ARGV)' *.txt)
akan dengan benar menangani nama file dengan spasi.