wget을 사용하여 파일을 다운로드할 때 매개변수가 유효하지 않습니다.

wget을 사용하여 파일을 다운로드할 때 매개변수가 유효하지 않습니다.

wget을 사용해야 하는 온라인 데이터베이스에서 파일 세트를 다운로드하려고 합니다. 내가 사용하고 있는 쉘 스크립트는 내 컴퓨터 중 하나에서 작동하지만 다른 장치에서 실행되기를 원하는데 그게 문제입니다. 어떤 이유로든 스크립트를 실행하면 다음과 같은 결과가 출력됩니다.

--2021-07-21 12:03:12--  https://archive.eso.org/downloadportalapi/calibrationxml/672f7dfa-65b6-4117-aaf5-9eb2fd4d8759/GRAVI.2017-06-29T02:59:55.346_raw2master.xml
Resolving archive.eso.org (archive.eso.org)... 134.171.46.246
Connecting to archive.eso.org (archive.eso.org)|134.171.46.246|:443... connected.
HTTP request sent, awaiting response... 200 
Length: 3484 (3.4K) [application/octet-stream]
GRAVI.2017-06-29T02:59:55.346_raw2master.xml: Invalid argument

Cannot write to 'GRAVI.2017-06-29T02:59:55.346_raw2master.xml’ (Success).

저장된 위치를 설명하는 줄을 작성하는 대신 "잘못된 인수"를 출력하는데 그 이유는 잘 모르겠습니다. 두 장치 모두 동일한 버전의 wget을 실행하고 있으며 두 장치에 사용되는 스크립트는 동일합니다. 디스크 공간도 충분하므로 문제가 되지 않습니다. 쉘 스크립트를 보려면 다음을 사용할 수 있습니다.여기.

편집하다:이것은의 출력입니다

mount

/dev/sdb2 on /media/keegan/LaCie type exfat (rw,nosuid,nodev,relatime,uid=1001,gid=1001,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2)

그리고df -h

/dev/sdb2/      9.1T   14G  9.1T   1% /media/keegan/LaCie

댓글에서 요청한대로.

답변1

:이름에 잘못된 문자( )가 포함된 파일 시스템에 파일을 생성하려고 합니다 . 편집 내용에서 언급한 대로 파일은 exFAT파일 시스템에 생성됩니다. 이것위키피디아 페이지다음 내용에 명확하게 명시되어 있습니다 exFAT.

파일 이름에 허용되는 문자: 모든 유니코드 문자와는 별개로 U+0000( NUL) ~ U+001F( US), /(슬래시), \(백슬래시),:(콜론), *(별표), ?(물음표), "(따옴표), <(보다 작음), >(보다 큼) 및 |(세로 막대)

확인하려면 다른 명령을 사용하여 파일을 생성해 보십시오.

touch GRAVI.2017-06-29T02:59:55.346_raw2master.xml

이것이 원인이라면 다른 파일 시스템을 사용하거나 다른 이름을 사용하십시오.

답변2

앞서 언급했듯이 대상 파일 시스템(exFAT)에는 몇 가지 문자 제한이 있습니다. 따라서 --restrict-file-names=windows옵션을 사용해야 합니다 wget. 이는 대상 파일 이름과 디렉터리 이름에서 문제가 있는 문자를 변환합니다.

관련 정보