Linuxにexpectスクリプトを記述しようとしています。リモートファイルが存在するかどうかを確認し、expectスクリプトで他の操作を実行します。
- SSH
- を使用してリモートのWindowsマシンにログインし、特定のファイルが
- は、同じパスに他のファイルのタイムスタンプを比較して、ステップ1では
新しい場合、印刷が存在するかどうかをチェックし、ファイルが存在するかどうかを確認するために1つのコマンドを送信しようとしていますが、動作しません。
log_user 1
spawn ssh -o "StrictHostKeyChecking=no" [email protected]$hostname
expect {
..... user and password checks
.....
send "IF EXIST C:\\path\\to\\file\\temp.zip (echo FOUND) else (echo NOTFOUND)\r"
expect "path" {
set result $expect_out(buffer)
puts $result
if{$result=="FOUND"} {
#compare with temp2.zip here
}
}
結果は常に私は出力FOUNDまたはNOTFOUNDを送信していません。誰かが私がここで間違っていることを教えてもらえますか?
私はWindows、bash、バッチファイルのタグがここに属していないと感じていますが、あなたが何を求めているのか十分に分かりません。 – SomethingDark
古いMac(Mac OS 9まで)と話しているのでない限り、通常は\ rを送信するのは間違いです。 – IInspectable
@somethingdarkリモートサーバでwindowsコマンドを実行するためにexpectスクリプトを使用しています – Nagarjun