8

Expect (TCL) が、普段できなかった多くのことを自動化できることに驚いています。

私は本を​​読むことでExpectをより深く掘り下げることができると思っていましたが、その前に、Expectができることを実行できる他のソリューション/言語があるかどうかを尋ねたいですか?

例えば。私は、人々が Expect を Awk や Perl と比較していると読んだことがあります。

Awk と Perl で同じことができるでしょうか?

Python や Ruby などの他の言語はどうですか?

Expect は事実上の自動化ツールですか、それともより優れた他のソリューション/言語はありますか?

4

4 に答える 4

9

それだけではありません。

率直に言って、元の Expect (Tcl Expect) は最高のものです。それは、その後継のどの製品よりも、「対話」とさまざまな pty 奇抜さをより適切にサポートします。それが何をするかについて、それは優れたものを持っていません。

しかし、同時に、Expect のほとんどのユーザーは、Expect の機能のほんの一部しか利用していないため、この技術的優位性は彼らにとってどうでもよいことです。ほとんどの場合、私は Perl 出身の人には Expect.pm を使うように、Python に詳しい人には Pexpect に頼るように、などとアドバイスしています。

Perl と「... Awk と Perl」を単純に比較するのは根拠がありません。

要約すると、一般的なスクリプト言語 (Lua、awk、sh、Tcl、Ruby、Perl、Python など) はすべてほぼ同じです。この共通のコアを pty-awareness の方向にわずかに、しかし非常に効果的に拡張することを期待してください (現時点では無視できる話がもう少しあります)。大まかに言えば、自動化に目に見えないパスワードの入力が含まれる場合は、Expect が必要です。Awk と Perl には、この機能が組み込まれていません。

他のコンテキスト用の他の自動化ツールがあります。

于 2010-09-19T19:50:55.793 に答える
7

Perlの期待をチェックしてください

于 2010-09-19T16:02:44.280 に答える
4

ajsie は、「他にどの自動化ツールについて話しているのですか?」と尋ねます。

別の質問に答えます。「他にどのような状況を念頭に置いていますか?」答え: stdio 以外の対話型環境。たとえば、Expect は GUI のポイント アンド クリックの自動化用ではありません。また、Win* の非コンソール アプリケーションでは、文字指向のように見えても (そのようなものは存在します)、Expect は使用できません。

エキサイティングな反実現:期待、用語のような接続による制御を可能にする風変わりな機器の自動化です. ディーゼル エンジン (または、より一般的にはテレコム アイアン) が、telnet のようなプロセスを接続することで (たとえば、古いスタイルのシリアル回線を介しても) 監視できると言う場合、Expect にチャンスがあるドメインにいます。その魔法を働かせるために。

于 2010-09-19T20:13:40.250 に答える
2

Pexpect for Python をチェックしてください

于 2010-09-19T15:16:22.810 に答える