우분투 - 폴더 끝에 공백이 있는 폴더를 처리하는 중 오류가 발생했습니다. 오류

우분투 - 폴더 끝에 공백이 있는 폴더를 처리하는 중 오류가 발생했습니다. 오류

마이티 키보드 전사 여러분, 안녕하세요. 나를 죽일 정도의 문제가 있습니다. 그 상황:

  • 다음 구성 파일이 있는 vsftpd 서버(http://pastebin.com/8AVZ9WGK)
  • 기본 권한이 있는 홈/사용자
  • 다음을 수행하는 file.sh 스크립트:

    1. HTML 웹을 다운로드하고 파일에 대한 링크를 추출합니다.
    2. 각 라인에 대해 디렉토리를 생성하고 N개의 이미지를 다음 디렉토리에 다운로드합니다.

내 문제: Windows에서 Windows를 통해 FTP를 통해 파일에 액세스할 수 있으며 localUser로 로그인합니다. 단일 파일을 복사하거나 동일한 폴더 내에서 여러 파일을 복사할 수도 있습니다. 그런데 모든 콘텐츠가 들어 있는 폴더를 복사하려고 하면 문제가 발생합니다. N개 파일에 다음이 발생합니다.https://i.stack.imgur.com/cHjlJ.jpg.

Filezilla를 시도하면 다음 오류가 발생합니다.

Command: LIST
Response:   150 Here comes the directory listing.
Response:   226 Directory send OK.
Status: Directory listing successful
Status: Retrieving directory listing...
Command:    CWD FolderName completa
Response:   550 Failed to change directory.
Error:  Failed to retrieve directory listing

편집 1

ls -lat 기본 디렉터리

drwxrwxrwx   3 eco01 eco01 4096 Oct  7 14:57 .
drwxrwxr-x 130 eco01 eco01 4096 Oct  7 12:44 FolderName 
-rwxrwxrwx   1 eco01 eco01 1577 Oct  7 12:32 getM.sh
drwxrwxrwx  21 eco01 eco01 4096 Oct  7 11:47 ..

ls -lat 내부 디렉토리

drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 585
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 601
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 589
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 566
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 588
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 586
drwxrwxr-x   2 eco01 eco01  4096 Oct  7 12:44 Folder 587

답변1

수백만 건의 다운로드와 테스트를 거친 후. 찾았어요. 문제:

스크립트에서는 문자("&")에서 파일 이름을 "잘랐습니다".

 nameCap=${nameCap%%&*}

무슨 일이 일어나고 있는지는 "FolderName"과 같은 폴더 끝과 공백을 사용하여 기본 폴더와 하위 폴더가 생성되었다는 것입니다. 하위 폴더에서도 마찬가지였습니다. 내가 만든 폴더의 마지막 문자를 삭제하기 위해 추가만 합니다.:

 nameCap="${nameCap%?}"

관련 정보