0
我使用expect/spawn实现了一个shell,并将命令从远程服务器发送给SCP文件,在需要时它会自动发送密码。在C++过程中调用“expect”脚本
该脚本在UNIX终端上正常工作。
尽管如此,我试图通过C++过程来使用这个脚本。它已被system()或甚至popen()函数调用而没有成功。 返回此错误:“ioctl(raw):I/O错误” 有人可能有任何线索?
这是我的脚本:
#!/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
"
感谢您的回答, – vince31
感谢您的回复和更正。 我并不期待解决这个问题的简单方法,但你做到了。 你完全解决了我的问题,我现在可以前进 干杯glenn。 – vince31