SFTP - 使用 mget 下载不同类型的文件

SFTP - 使用 mget 下载不同类型的文件

我只想从服务器下载特定文件,该服务器也可能有其他文件。所以我正在使用以下mget命令。但如果PO*.txt不存在,则退出并且不再继续获取INV*.txt。我是否必须两次连接到 sftp 服务器并单独下载它们?

mget PO*.txt
mget INV*.txt

我从 korn shell 脚本调用。我正在使用以下命令:

sftp -oBatchMode=no -b - -oIdentityFile=~/.ssh/id_rsa $p_sftp << EOF > $p_tmpfile cd /outgoing
mget PO*.asc
mget INV*.asc
bye
EOF

答案1

sftp如果您已指定,则出错时中止-b转变仅在其命令行上。因此,如果您不想中止,请删除它(请注意, 是-的参数-b,因此您需要删除整个-b -)。


但在这种情况下,您可能只想忽略第一个[m]get命令中的错误。

为了那个原因,在命令前面加上破折号 ( -)

-get PO*.txt
get INV*.txt

(请注意,sftp实际上并没有mget命令。它有getmgetget 是其未记录的别名。)

相关内容