0
expect/spawn을 사용하여 쉘을 구현하고 필요할 때 자동으로 암호를 보내는 원격 서버에서 SCP 파일에 명령을 전송했습니다.C++ 프로세스에서 "expect"스크립트를 호출하십시오.
스크립트는 UNIX 터미널에서 올바르게 작동합니다.
그럼에도 불구하고이 스크립트를 사용하여 C++ 프로세스를 사용하려고했습니다. 그것은 system() 또는 심지어 popen() 함수에 의해 성공없이 호출되었습니다. 이 오류가 반환됩니다. "ioctl (원시) : 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