Я пытаюсь написать скрипт, который может скопировать файл с локального хоста на удаленный хост. И тогда я хочу выполнить этот скрипт с локального хоста. Но я не умею копировать. Я гуглил и нашел код ниже. Но, выполнив это, он запрашивает фразу-пароль. Даже если я нажму клавишу ввода или введу какое-либо значение или обработаю это в скрипте, я не смогу скопировать файл. Подскажите пожалуйста что может быть не так с этим скриптом?
#!/bin/bash
Node_ip="10.172.54.2"
IP=("$Node_ip")
in_ip=""
get_ip() #Give the ip of current machine
{
for i in `ifconfig | cut -d" " -f1 | sort | grep -v '^$'`
do
if [ $i = "eth0" ]
then
if ifconfig $i | grep addr: &> /dev/null
then
in_ip="$(ifconfig $i | grep addr: | awk '{print $2}' | cut -d":" -f2)"
echo "IP is : $in_ip"
fi
fi
done
}
SCP_PASSWORD="gauranga"
for ne in "${IP[@]}"
do
get_ip #in_ip now has ip of current shell
expect -c "
spawn scp gaur@$in_ip:/home/gaur/work_automation/commands.sh root@$ne:/root/gauranga/
expect yes/no { send yes; exp_continue }
expect password: { send $SCP_PASSWORD}
exit
"
done