Executar comando expect dentro do loop while no shell script
Eu tenho uma lista de nomes de arquivos em um arquivo de texto, preciso transferir cada arquivo para o servidor usando o comando scp.Read.sh e passando cada nome de arquivo paratransfer.sh script, mas o scp não está executando o comando neste script de transferência.transfer.sh sozinho com a passagem de argumentos está funcionando bem.
List.txt
/home/kittu/file1.txt
/home/kittu/file2.txt
/home/kittu/file3.txt
Read.sh
#!/bin/bash
while read p; do
echo $p
./transfer.sh "$p"
done <List.txt
transfer.sh
#!/usr/bin/expect -f
# get filename from command-line
set f [lindex $argv 0]
spawn scp "$f" [email protected]:/home/user/Desktop/
expect "password"
send "123\r"
interact
Acabei de executar o Read.sh como
>./Read.sh
Resultado:
/home/user/Desktop/file1.txt
spawn scp /home/mbox140/Desktop/test.sh [email protected]:/home/mbox140/Desktop/videos/
[email protected]'s password:
Não está executando a próxima instrução. Por favor, sugira-me qualquer solução.