Ваша перша команда повинна працювати без пробілів:
curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY
Також зверніть увагу на проміжки "/" у вказаних вище URL-адресах.
Це ручний запис щодо параметра "-T":
-T, --завантажте файл
Це передає вказаний локальний файл у віддалену URL-адресу. Якщо у вказаній URL-адресі немає частини файлу, Curl додасть ім'я локального файлу. Зверніть увагу, що ви повинні використовувати трейлінг / в останньому каталозі, щоб дійсно довести Curl, що немає імені файлу або curl подумає, що ваше останнє ім'я каталогу - це віддалене ім'я файлу, яке слід використовувати. Це, швидше за все, спричинить збій операції завантаження. Якщо це використовується на сервері HTTP (S), буде використана команда PUT.
Використовуйте ім'я файлу "-" (один тире), щоб використовувати stdin замість даного файлу. Крім того, ім'я файлу "." (один період) може бути вказаний замість "-", щоб використовувати stdin в режимі, що не блокує, щоб дозволити вихід сервера зчитування під час завантаження stdin.
Ви можете вказати один -T для кожної URL-адреси в командному рядку. Кожна пара URL -T + вказує, що потрібно завантажити та куди. curl також підтримує "глобалізацію" аргументу -T, тобто означає, що ви можете завантажувати декілька файлів до однієї URL-адреси, використовуючи той самий стиль, який підтримується в URL-адресі, як це:
curl -T "{file1,file2}" http://www.uploadtothissite.com
або навіть
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
Розширення "* .txt" не працює, оскільки curl підтримує лише той самий синтаксис, що і для URL-адрес:
Ви можете вказати кілька URL-адрес або частин URL-адрес, записавши набори частин в дужки, як у:
http: // site . {один, два, три} .com
або ви можете отримати послідовності буквено-цифрових рядів, використовуючи [] як у:
ftp://ftp.numericals.com/file evidence1-100 снимки.txt
ftp://ftp.numericals.com/file evidence001-100 снимки.txt (з провідними нулями)
ftp://ftp.letters.com/file evidenceazSense.txt
[...]
Коли ви використовуєте послідовності [] або {} при виклику з командного рядка, вам, ймовірно, доведеться вводити повну URL-адресу в подвійні лапки, щоб оболонка не заважала їй. Це стосується й інших персонажів, до яких звертаються спеціально, як-от "&", "?" і '*'.
Але ви можете використовувати "звичайну" оболонку так, як це:
curl -T "{$(echo *.txt | tr ' ' ',')}" ftp://XXX/ -user YYY
(Останній приклад може працювати не у всіх оболонках або з будь-якими видами екзотичних файлів.)
$(perl -e 'print join(",",@ARGV)' *.txt)
буде правильно обробляти імена файлів з пробілами.