【发布时间】:2015-03-27 09:30:21
【问题描述】:
我是 bash 脚本的初学者。我这里有将文件上传到 sftp 服务器的脚本的一部分。然后它应该将文件移动到其他目录。 其他关于 source_dir 中没有文件的回显信息。问题是它没有移动文件,并且在文件已经上传后循环回到 sftp 登录。
cd /dest_dir/
for file5 in *.test
do
if test -f $file5
then
echo 'some text.'
((
echo "
cd /dest_dir/
lcd /source_dir/
mput *.test
exit
"
) | sftp "user"@"host")
sleep 3
mv /source_dir/$file5 /source_dir/test/
else
echo -e 'some text'
fi
【问题讨论】:
-
您正在循环访问
*.test文件。在每个循环中,您上传所有*.test文件,但您只移动单个文件($file5)。那看起来不对。但这可能不是主要问题。 -
所以我从 mput *.test 更改为 put $file5。将在少数情况下进行测试。谢谢