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