複数のテキストのいずれかを期待するスクリプトを作成する方法

複数のテキストのいずれかを期待するスクリプトを作成する方法

以下はサンプルの断片です。通常、サーバーをシャットダウンしたり切断したりするコマンドを渡さない限り、正常に動作します。

この問題を処理するには、送信後に「#」またはeofを期待できますか?ガイドライン

  send "${_cmd_}\r"
     expect "#"
      send "exit\r"

ベストアンサー1

もちろん、接続が閉じると特別モードで反応することが期待されますeof。あなたがしたいと思う事はこれである。

  • 接続が閉じると予想されます。eof
  • プロンプトが表示されたら、exitコマンドを送信して待ち続けます。eof
send "$_cmd_\r"
expect {
    "#" {
        send "exit\r"
        exp_continue
    }
    eof
}
# do something after the connection is closed

おすすめ記事