タグ

ブックマーク / xianzhi.sakura.ne.jp (2)

  • Expect 対話型コマンドを自動化 ログファイルとデバッグ Expect 詳しく解説

    Expect ログファイルとデバッグ スクリプトを用意して実行させるなら、後で見返すためのログファイルが必要になってくると思います。 ここでは、 Expect のログファイルの作り方とデバックの仕方について解説してみたいと思います。 log_file Expect は、標準入出力で動作しますので、 command > file というような リダイレクトが使えません。 では、 標準入出力をファイルに出力してくれる tee ならどうかと試してみると、上手く Expect スクリプトの実行状況をファイルに記録することが出来ました。 ただ、 Expect にはスクリプトに組み込む ログファイルを記録するいくつかの方法が用意されているようですので、 ご紹介したいと思います。 1つめは、 tee と同じ働きをする、 log_file -noappend です。 以下がその例となります。 1   #!

  • Expect 対話型コマンドを自動化 サブルーチン化 Expect 詳しく解説

    Expect サブルーチン化 Expect は Tcl と文法がそっくりで、サブルーチンを作るのも Tcl と同じようにして作ることが出来ます。 下のスクリプトは "基と初期設定" で紹介しておきましたが 同じようなコマンドの繰り返しになっています。 これをサブルーチン化して すっきりさせてみたいと思います。 1   #!/usr/bin/expect 2 3   set send_slow {1 .01} 4   set timeout 5 5 6   spawn "ftp ftp.server.jp\r" 7   expect { 8           "(ftp.server.jp:accountA): " { } 9           timeout { exit } 10   } 11   send -s -- "accountB\r" 12   expect { 13  

  • 1