0
私は期待/卵を使用してシェルを実現し、それが必要とされるときに自動的にパスワードを送信し、リモートサーバからSCPファイルにコマンドを送信します。コールCでスクリプトを「期待する」++プロセス
スクリプトは、UNIX端末上で正常に動作します。
それにもかかわらず、私はC++プロセスthrooughこのスクリプトを使用しようとしました。それはsystem()またはpopen()関数によってさえ、成功なしで呼び出されています。 このエラーが返されます。「のioctl(生):I/Oエラー」 誰かが任意の手掛かりを持っているだろうか?
これは私のスクリプトです:
#! /usr/bin/env expect -f
foreach {targetHost password sourceFile destRep} $argv break
spawn /usr/bin/scp -q $targetHost:$sourceFile $destRep
expect -i $spawn_id {
"*password:*" { send -i $spawn_id $password\r; interact }
eof { exit }
}
(とにかく問題を引用することが表示されます)私が試してみた最初のものは、bashスクリプトを捨てることです
#!/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
おかげで(私はここで、適切な用語のかわかりません)。 私はこの問題を簡単に解決することを期待していませんでしたが、そうしました。 あなたは完全に私の問題を解決し、私は今 乾杯グレン前方に行くことができます。 – vince31