私はexpectを使用してexpectスクリプトを作成しました.expect -exactは、多くの不要な出力を含む行に一致するように構築されていることに気付きました. たとえば、postgresql restore コマンドを実行すると、すべての psql 出力が expect -exact 行に含まれます。
expect -exact 行をトリミングするために使用できる他の構文は何ですか? 場合によっては削除できますか?
セッション内のアクティビティを監視してスクリプトを生成するツールは、考えすぎてしまう傾向があります。彼らは単に何が重要かを理解していません。通常、不要な部分を取り除く方法は、テキスト エディターでそれらを削除することです。注意すべき場所は、あなたが近づいている場所ですsend
(またはexp_send
;いくつかのバリエーションがあります)。の前に常に of を付けるのは良い考えexpect
ですが、それがどうあるべきかは、あなたの側でいくらかの賢さが必要です。send
後で、expect
一度にいくつかのことを実行することによってアクションを実行する複数の条件を処理できるスクリプトを作成することが必要になる場合があります。そんなときは、次のように書きます。
expect {
"abc" {
send "foo\r"
}
"def" {
send "bar\r"
}
}
アプリケーションへのアクセスを自動化することは、最初に思われるよりもはるかに複雑です。アプリケーションは、多くの場合、最初に思われるよりも複雑だからです。