
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-get
SIGHUP信号によって終了します。
少なくとも別の行を追加する必要があります。
expect eof
expect
ファイルの終わりに達するまで生成されたコマンドを読み取るようにスクリプトに追加します。
答え2
send
- 処理する文字列を送信します。expect
- プロセスが特定の文字列を待ちます。spawn
– スタートコマンド
ビルドが開始されるすべてのコマンドをオフにする必要があります。それ以外の場合は1行に読み込まれます。
EOFを使用するときに予想されるスクリプトは、次のようにする必要があります。
#!/usr/bin/expect -f
spawn ssh 10.10.80.1
expect EOF