在shell脚本中使用lftp工具从某ftp站点上获取文件夹下的文件列表
#!/bin/csh
# FTP服务器地址和登录信息
set FTP_USER="anonymous"
set FTP_PASS="anonymous"
set FTP_HOST="ftp://example.com"
# 要获取列表的FTP文件夹路径
set FTP_PATH="/a/b/c/"
# 保存列表的本地文件路径
set LOCAL_FILE="./file_list"
# 使用lftp命令连接FTP服务器并获取文件夹文件列表
lftp -u $FTP_USER,$FTP_PASS $FTP_HOST <<EOF
cd $FTP_PATH
ls -l > $LOCAL_FILE
bye
EOF
echo "文件夹文件列表已保存到 $LOCAL_FILE"
使用ftp工具将文件列表保存到本地时会报以下错误:
output to local-file: ./file_list [anpqy?]? output to local-file: aborted.
改用lftp 成功!!!
注意:我这里使用的是C shell,使用bash或其他shell的语法会略有不同(如变量的定义等!!)
记录一下:)