私は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"