当'put'命令失败时,sftp批处理停止,是否可以继续?

时间:2017-02-28 21:21:36

标签: unix sh sftp

我是一名unix新手,也是一名生气勃勃的人。我正在编写一个unix shell脚本,该脚本使用sftp批处理文件将一堆单个文件从一个服务器复制到另一个服务器。通配符在这种情况下不起作用。所以我的脚本看起来像这样:

#!/bin/bash 

echo "Starting..."

USER="user"
DEST="server"

sftp -b batch.txt $USER@$DEST

echo "Complete."

我的批处理文件看起来像这样:

cd /Data/in
lcd /Data/in

put file1
put file5
put file9
...
bye

只要源目录中存在所有文件,这一切都可以正常工作。我的问题是,如果源目录中缺少170个左右的文件中的任何一个,则整个脚本将以“找不到文件”错误结束。我希望它继续前进,忽略任何“未找到文件”的问题。有快速的方法吗?或者我是否正在编写代码来检查在开始sftp之前此列表中的每个文件是否都存在?

另外,作为一个附带问题,在这种情况下使用mput会更好吗?

感谢您的帮助。

巴比

0 个答案:

没有答案