0

I tried to write a bash script which upload a file to an ip address with ftp connection, but i have an issue or something like that. I have a .txt file with a lot of line. Every line have an ip address, nothing else just the ip address. So i want to read the ip address from the text file and use it as a variable. This is my ugly code:

#!/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

}

With the first ip address int the first line the connection and the upload is successful but the other lines got error like this:

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

1 Answers1

0

Commands of ftp can be written in a 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
etsuhisa
  • 1,698
  • 1
  • 5
  • 7