首页 > 解决方案 > 访问失败错误 - 尝试移动文件时没有这样的文件

问题描述

我正在尝试将所有 *.csv 文件移动到服务器上的另一个文件夹,但是每次我遇到访问失败错误时,我都可以使用 mget 将所有文件获取到本地服务器,但 mv 每次都失败,我可以看到文件在服务器并获得文件的完全权限,sh 脚本不能使用通配符。用简单的命令在这里敲击。

Download to local directory
localDir="/home/toor/UCDownloads/"
[ ! -d $localDir ] && mkdir -p $localDir
#sftp in the file directory to be downloaded
remoteDir="/share/CACHEDEV1_DATA/Lanein1/Unicard/"

#The file to be downloaded is fileName
lftp -u ${sftp_user},${password} sftp://${host}:${port}<<EOF
PS4='$LINENO: '
set xfer:log true
set xfer:log-file "$logfileUCARC"
set xfer:clobber true
set xfer:auto-rename true
debug 9
cd ${remoteDir}
lcd ${localDir}
#mget  *.CSV
ls -l
mv  "/share/CACHEDEV1_DATA/Lanein1/Unicard/"*.csv  "/share/CACHEDEV1_DATA/Lanein1/Unicard/Archives/"
#rm /share/CACHEDEV1_DATA/Lanein1/Unicard/!(*.pdf)
bye
EOF

标签: mvlftp

解决方案


这不是 shell 或 Bash 问题。这是一个 LFTP 问题。

来自LFTP的手册:

mv文件1 文件2

将文件 1 重命名为文件 2。不执行通配符扩展。

LFTP 只是不支持您的要求。它将被*.csv视为文件名的一部分。

请参阅此处了解替代方案。


推荐阅读