Ksh

SFTP - 使用 mget 下載不同類型的文件

  • December 20, 2021

我只想從可能有其他文件的伺服器下載特定文件。所以我正在使用以下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

如果您僅在其命令行上sftp指定了-b開關,則錯誤中止。因此,如果您不想中止,請刪除它(請注意, the-是 的參數-b,因此您需要刪除整個-b -)。


儘管在這種情況下,您可能只想忽略第一個[m]get命令中的錯誤。

為此,請在命令前加上破折號 ( -)

-get PO*.txt
get INV*.txt

(請注意,它sftp並沒有真正的mget命令。它有get, mgetget 是其未記錄的別名。)

引用自:https://unix.stackexchange.com/questions/638777