첫 번째 명령은 공백없이 작동해야합니다.
curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY
또한 위 URL에서 후행 "/"에 유의 하십시오.
옵션 "-T"에 대한 curl의 수동 항목입니다.
-T,-업로드 파일
지정된 로컬 파일을 원격 URL로 전송합니다. 지정된 URL에 파일 부분이 없으면 Curl은 로컬 파일 이름을 추가합니다. 컬이 실제로 파일 이름이 없음을 컬에 나타내려면 마지막 디렉토리에서 후행 /를 사용해야합니다. 또는 컬은 마지막 디렉토리 이름이 사용할 원격 파일 이름이라고 생각할 것입니다. 업로드 작업이 실패 할 가능성이 높습니다. 이것이 HTTP (S) 서버에서 사용되면 PUT 명령이 사용됩니다.
주어진 파일 대신 stdin을 사용하려면 파일 이름 "-"(단일 대시)를 사용하십시오. 또는 파일 이름 "." stdin을 업로드하는 동안 서버 출력을 읽을 수 있도록 비 차단 모드에서 stdin을 사용하도록 "-"대신 (단일 기간)을 지정할 수 있습니다.
명령 행에서 각 URL에 대해 하나의 -T를 지정할 수 있습니다. 각 -T + URL 쌍은 업로드 대상과 위치를 지정합니다. curl은 또한 -T 인수의 "globbing"을 지원합니다. 즉, 다음과 같이 URL에서 지원되는 동일한 URL globbing 스타일을 사용하여 단일 URL에 여러 파일을 업로드 할 수 있습니다.
curl -T "{file1,file2}" http://www.uploadtothissite.com
또는
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
curl은 URL과 동일한 구문 만 지원하므로 "* .txt"확장이 작동하지 않습니다 .
다음과 같이 중괄호 안에 부품 세트를 작성하여 여러 URL 또는 URL의 일부를 지정할 수 있습니다.
http : // site . {one, two, three} .com
또는 다음과 같이 []를 사용하여 영숫자 시리즈의 시퀀스를 얻을 수 있습니다.
ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file [001-100] .txt (제로 0)
ftp://ftp.letters.com/file[az].txt
[...]
명령 행 프롬프트에서 호출 될 때 [] 또는 {} 시퀀스를 사용하는 경우 쉘이이를 방해하지 않도록 전체 URL을 큰 따옴표로 묶어야합니다. '&', '?'와 같이 특수하게 취급되는 다른 문자도 마찬가지입니다. 그리고 '*'.
그러나 다음과 같이 "일반"쉘 글 로빙을 사용할 수 있습니다.
curl -T "{$(echo *.txt | tr ' ' ',')}" ftp://XXX/ -user YYY
(마지막 예제는 모든 셸에서 또는 다른 종류의 이국적인 파일 이름으로 작동하지 않을 수 있습니다.)
$(perl -e 'print join(",",@ARGV)' *.txt)
공백이있는 파일 이름을 올바르게 처리합니다.