我只想从服务器下载特定文件,该服务器也可能有其他文件。所以我正在使用以下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
命令。它有get
,mget
get 是其未记录的别名。)