İlk komutunuz boşluk olmadan çalışmalıdır:
curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY
Ayrıca yukarıdaki URL'lerdeki "/" karakterine dikkat edin .
Bu, curl'un "-T" opsiyonu ile ilgili manuel girişi:
-T, --upload dosyası
Bu, belirtilen yerel dosyayı uzak URL'ye aktarır. Belirtilen URL'de dosya parçası yoksa, Curl yerel dosya adını ekler. Hiçbir dosya adı olmadığını Curl kanıtlamak için son dizinde bir son / / kullanmanız gerektiğini unutmayın veya curl son dizin adınızın kullanılacak uzak dosya adı olduğunu düşünecektir. Bu büyük olasılıkla yükleme işleminin başarısız olmasına neden olacaktır. Bu bir HTTP (S) sunucusunda kullanılırsa, PUT komutu kullanılır.
Belirli bir dosya yerine stdin kullanmak için "-" (tek bir tire) dosya adını kullanın. Alternatif olarak, "." Dosya adı stdin yüklenirken sunucu çıktısının okunmasına izin vermek için stdin'i engellemeyen modda kullanmak için "-" yerine (tek bir nokta) belirtilebilir.
Komut satırında her URL için bir -T belirtebilirsiniz. Her -T + URL çifti neyin nereye nereye yükleneceğini belirtir. curl ayrıca -T argümanının "globbing" i destekler, yani URL'de desteklenen aynı URL globbing stilini kullanarak tek bir URL'ye birden fazla dosya yükleyebilirsiniz:
curl -T "{file1,file2}" http://www.uploadtothissite.com
ya da
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
"* .txt" genişletmesi işe yaramaz çünkü curl URL'lerle aynı sözdizimini destekler:
Parantez içindeki parça kümelerini aşağıdaki gibi yazarak birden çok URL veya URL'nin bir kısmını belirtebilirsiniz:
http: // site . {bir, iki, üç} .com
veya aşağıdaki gibi [] kullanarak alfasayısal seri dizileri alabilirsiniz:
ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file[001-100 WES.txt ( baştaki sıfırlarla)
ftp://ftp.letters.com/file[az].txt
[...]
Komut satırı isteminden çağrıldığında [] veya {} dizilerini kullanırken, kabuğun buna müdahale etmesini önlemek için büyük olasılıkla tam URL'yi çift tırnak içine almanız gerekir. Bu, '&', '?' Gibi özel olarak ele alınan diğer karakterler için de geçerlidir. ve '*'.
Ancak "normal" kabuklu globbing'i şu şekilde kullanabilirsiniz:
curl -T "{$(echo *.txt | tr ' ' ',')}" ftp://XXX/ -user YYY
(Son örnek tüm kabuklarda veya herhangi bir egzotik dosya adında çalışmayabilir.)
$(perl -e 'print join(",",@ARGV)' *.txt)
dosya adlarını boşluklarla doğru şekilde işleyecektir.