Appel script "expect" dans un processus C++
Bonjour,
J'ai r�alis� un script utilisant les commandes expect/spawn et send afin d'effectuer un scp distant sur une autre machine qui envoie automatiquement le mot de passe lorsque ce dernier est demand�.
Le shell marche tr�s bien dans un terminal LINUX.
Cependant lorsque j�essaie de l'utiliser dans mon process C++, celui-ci �choue. J'ai essay� une ex�cution par un system() et popen() sans succ�s.
L'erreur "ioctl(raw): I/O error" est renvoy�e lorsque je fais mon system();
Voici mon script expectl:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/bin/bash
targetHost=$1
password=$2
sourceFile=$3
destRep=$4
expect -c "
spawn /usr/bin/scp -q $targetHost:$sourceFile $destRep
expect -i $spawn_id {
"*password:*" { send -i $spawn_id $password\r\n; interact }
eof { exit }
}
exit
" |