I want to write a shell script to automate the ftp session, in that it should take the inputs like the server ip , username , password from a different file who path i'll pass.
and also the validations that if the server path exits or not.

Like I have a file config.cfg and contains the following data:-

server_IP = 10.18.15.2
username = nikita
password = nikita
file_path = ${HOME}/tools/
file_name = package.tar.gz

I have used this script, but its not working :

ftp awk '$1 ~ /server_IP/ { print $3 }' config.cfg  
        ser awk '$1 ~ /user/ { print $3 }' config.cfg
        assword awk '$1 ~ /password/ { print $3 }' config.cfg
        awk '$1 ~ /file_mode/ { print $3 }' config.cfg
        cd awk '$1 ~ /file_path/ { print $3 }' config.cfg
        get awk '$1 ~ /file_name/ { print $3 }' config.cfg
        echo file downloaded
        echo end
        bye

I have finally written this code, but the prob with this is that when it is prompting for password it doesnt send any password to the ftp machine, we have to do it manually, but after typing it manually, it take the password line as command and shows that that is invalid command.
please tell me a way to pass the password automatically

CONFIG_FILE="${HOME}/c/config.cfg"
Password=`awk '$1 ~ /password/ { print $3 }' $CONFIG_FILE`
echo $Password
if [ ! -r $CONFIG_FILE ]
then
        echo "File not readable";exit0;
fi

ftp -i `awk '$1 ~ /server_IP/ { print $3 }' $CONFIG_FILE` <<END
`awk '$1 ~ /user/ { print $3 }' $CONFIG_FILE`
`awk '$1 ~ /password/ { print $3 }' $CONFIG_FILE`
`awk '$1 ~ /file_mode/ { print $3 }' $CONFIG_FILE`
cd `awk '$1 ~ /file_path/ { print $3 }' $CONFIG_FILE`
get `awk '$1 ~ /file_name/ { print $3 }' $CONFIG_FILE`
quit
END

the config file is as

server_IP       =       10.18.14.2
user            =       scpyogesh
password        =       scpyogesh
file_mode       =       binary
file_path       =       sample/test/
file_name       =       test_ftp.txt
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.