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 : S�lectionner tout - Visualiser dans une fen�tre � part
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
            "