저는 lftp
FTP 서버에 연결하고 cd
특정 디렉토리로 이동하여 해당 디렉토리 위치를 변수로 저장하는 데 사용하고 있습니다 REMOTE_DIRECTORY
.
폴더 이름에 공백이 있기 때문에 이것이 작동하지 않을 것이라고 확신합니다. 그러나 작은따옴표와 큰따옴표를 사용해 보았지만 문제가 해결되지 않았습니다. 무엇을 더 시도해야 할지 모르겠습니다. 내가 시도한 것은 다음과 같습니다.
REMOTE_DIRECTORY="SRC Test Data"
export workdir=/home/ubuntu/tmp
lftp -u $USER,$PASS $HOST <<EOF
set ftp:ssl-protect-data true
set ftp:ssl-force true
set ssl:verify-certificate no
pwd
cd $REMOTE_DIRECTORY
pwd
cd 'SRC Test Data'
pwd
ls -d > $workdir/src_list
quit
EOF
이 스크립트의 출력은 다음과 같습니다.
ftp://FTP_User-RW:[email protected]
Usage: cd remote-dir
ftp://FTP_User-RW:[email protected]
ftp://FTP_User-RW:[email protected]/SRC%20Test%20Data
따라서 명령에 폴더 이름을 명시적으로 입력한 경우에만 작동하는 것 같습니다 cd
. 이를 위해 변수를 어떻게 사용할 수 있습니까?
답변1
변수가 확장되면 입력과 같습니다.
cd SRC Test Data
우주는 폭발을 일으킨다.
노력하다:
cd "$REMOTE_DIRECTORY"