2017-02-03 20 views
0

私はtelnetでマシンに接続します。 Expectを使用しようとしていません。ユーザー名とパスワードはありません。ここに私がいる場所がある。ExpectでShellscript(OSX)を使用したTelnet

#!/usr/bin/expect -f 

Echo Hello World 
telnet IP_Address_Here 10001 

expect "]'." 
send "^a200\r" 

これは 'expect'まで機能します。これは...

Roberts-MacBook:~ rameeti$ sh test.sh 
Hello World 
Trying IP_Address_Here... 
Connected to IP_Address.lightspeed.irvnca.sbcglobal.net. 
Escape character is '^]'. 

コードの結果であり、それは私が送信したいコマンドを待って座っている:動作していない「期待」はなぜ「^ A200」 ?

答えて

0

expectの代わりにbashで実行していると思います。

そうしないと、あなたは

invalid command name "Echo" 
    while executing 
"Echo Hello World" 

$ expect -f test.sh 

を試しを受けることが予想されるかどうところで、あなたは.shそれに名前を付けるべきではありません。

+0

私は、エコーラインを削除した後、あなたの提案を「期待する」ようにスクリプトを呼び出そうとしました。その後、私のTelnetコマンドを聞いたので、Telnetの前にSpawnを追加しました。しかし今、私に接続して接続応答を与えた後、すぐにTelnetを終了し、私をコマンドプロンプトに戻します。それはExpectかSendを好きではない。アイデア? –

+0

試してみてくださいhttp://expect.sourceforge.net/example/autoexpect.man.html –

関連する問題