ExpectスクリプトのSpawnコマンドの問題

ExpectスクリプトのSpawnコマンドの問題

KALI Linuxを使用していますが、Expectスクリプトの使用にはいくつかの問題があります。

ビルドコマンドが何もしない理由はわかりません。同じテキストだけをエコーし​​ます。

#!/usr/bin/expect -f
spawn apt-get install expect

または

#!/usr/bin/expect -f
spawn ssh 10.10.80.1

使って./test.sh実行すると

spawn apt-get install expect

そして

spawn ssh 10.10.80.1

私は何が間違っていましたか?

答え1

問題はexpectビルドコマンドを実行することです。開始されapt-get、次にexpectスクリプトの終わりに到達して停止し、apt-getSIGHUP信号によって終了します。

少なくとも別の行を追加する必要があります。

expect eof

expectファイルの終わりに達するまで生成されたコマンドを読み取るようにスクリプトに追加します。

答え2

  • send- 処理する文字列を送信します。
  • expect- プロセスが特定の文字列を待ちます。
  • spawn– スタートコマンド

ビルドが開始されるすべてのコマンドをオフにする必要があります。それ以外の場合は1行に読み込まれます。

EOFを使用するときに予想されるスクリプトは、次のようにする必要があります。

#!/usr/bin/expect -f
spawn ssh 10.10.80.1
expect EOF

関連情報