Bash

如何使用 bash 腳本遍歷 FTP 目錄中的每個文件

  • November 14, 2012

可能重複:

如何使用 CURL 通過 FTP 刪除最舊的文件?

我需要使用 bash 腳本連接到遠端伺服器,然後刪除目錄中超過 7 天的所有文件。我正在嘗試使用 FTP 遠端伺服器中的 for 循環來執行此操作,但出現錯誤。

#!/bin/sh

HOST='www.ftpserver.com'
USER='username'
PASSWD='password'

ftp -n $HOST <<END_SCRIPT
user ${USER} ${PASSWD}


for i in {ls}
do
echo "$i"
done

quit
END_SCRIPT
exit 0

我得到的錯誤是

We only support non-print format, sorry.
?Invalid command
?Invalid command

任何指針都會有所幫助

要麼重寫你的腳本:Perl、PHP 或 Python,因為它們都提供 FTP 的 API,否則看看使用expect。周圍有幾個教程。

FTP協議的命令集非常有限。您不能將 shell 腳本與 ftp 連接一起使用。如果您想這樣做,請使用 telnet 或 ssh。

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