FTP 在 bash 脚本中上传

FTP upload in bash script

我试图编写一个 bash 脚本,该脚本将文件上传到具有 ftp 连接的 IP 地址,但我遇到了问题或类似问题。我有一个包含很多行的 .txt 文件。每行都有一个 ip 地址,没有别的只是 ip 地址。所以我想从文本文件中读取 ip 地址并将其用作变量。这是我丑陋的代码:

#!/bin/bash


input="example.txt";

user="admin"
pass="12345678"    
filename="example.src"

while IFS= read -r line; do

  connection

done < $input

connection(){
ftp -i -n $line 

user $user $pass

put $filename

bye

}

第一行的第一个 ip 地址连接和上传成功,但其他行出现如下错误:

Login incorrect
Login failed.
Please login with USER and PASS
Passive mode refused.

ftp的命令可以写在here-document中。

#!/bin/bash

connection(){
ftp -i -n $line << EOS
user $user $pass
put $filename
bye
EOS
}

input="example.txt";

user="admin"
pass="12345678"    
filename="example.src"

while IFS= read -r line; do

  connection

done < $input