无法使用 SFTP 移动文件

无法使用 SFTP 移动文件

我正在尝试使用下面的 sftp 将文件从远程服务器上的一个位置移动到另一个位置:

for i in a b c d
do
sftp $REMUSR <<EOM>>$OUT 2>&1
rename $SOURDIR/sample_${i}_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz $REMDIR
quit
EOM
:
:
done

但我收到消息:

无法重命名文件“/source/sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] .gz”到“/destin/”:没有这样的文件或目录

虽然这个文件存在于/source我已经验证的目录下:

$ ls -l sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz
-rw-r--r--  1 prd admin 112 May 23 09:16 sample_a_20140330.gz

答案1

FTP 的重命名命令不计算正则表达式。它将正则表达式解释为系统上不存在的文件名。您正在使用sftp。另一种方法是使用ssh

for i in a b c d
do
  ssh $user@$host "mv $SOURDIR/sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz $REMDIR"
done

相关内容