問題タブ [expectj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
844 参照

java - expectJ - spawn.send() から InputStream を読み取る

次のコードでは、から InputStream を読み取りたいと思いますspawn.send("ls | grep *.dat\n");。私のカルスは実装されSpawnable、それはメソッドgetStdout()ですが、それを使用する方法がわかりません。ExpectJ docs は次のように述べています。 getStdout()- Spawn の stdout を読み取ることができるストリームを取得します。しかし、これは私にそれ以上のことをさせません。

0 投票する
1 に答える
123 参照

expectj - ExpectJ:「対話」モードを終了するには?

Spawn.interact() を呼び出した後、どのように終了しますか?

ティア

レオ

0 投票する
1 に答える
236 参照

java - JythonでExpectJを使用するには?

我が社ではなぜかJythonを使っています。私はそれをExpectJで拡張する必要がありますが、その方法を理解できませんでした。

私はexpectj-2.0.7.jarexpectj-2.0.7-sources.jar、およびexpectj-2.0.7-javadoc.jarファイルをダウンロードし、JythonとJava自体にもアクセスできるようにしました。

したがって、Pythonスクリプトにインポートでき、JVMもjarを見つけます(クラスパスローダーハックを使用して)。しかし、ExpectJ の docsによると、まだ何かが間違っています。

これは私が立ち往生しているところです。ExpectJ オブジェクトにメソッドがないのはなぜspawnですか? 誰かがこれに対する解決策を持っていますか?

0 投票する
0 に答える
238 参照

java - インタラクティブモードでExpectJを使用して制御文字を送信するには?

しばらくの間、 expectJを使用して ssh (jsch) 経由でいくつかの管理タスクを自動化してきました。それはうまくいっています。

現在、制御文字によってトリガーされるコマンドを受け入れるインターフェイスに直面しています。たとえば、CTRL+B などです。

非インタラクティブな自動化タスクの場合、次のようにユニコード文字を送信するだけでうまく機能します

問題は、stdin と stdout を 2 つのスレッド ループに接続するexpectJ "インタラクティブ モードexpectj.StreamPiper" です (ドキュメント化されていない という名前のクラス内で、まさにそれを行い、1 つのストリームから別のストリームにパイプします)。

コマンド ラインから実行していますが、Java コマンド ライン (stdin) から CTRL-B を送信する方法がわかりません。

私の質問は次のとおりSystem.inです。インタラクティブモードでexpectJに制御文字を送信するにはどうすればよいですか?

Ps。回避策の 1 つは、これらの制御文字を何らかの形で「再マップ」することのようです。たとえば、あるコマンドは CTRL-Z によってトリガーされますが、UNIX 環境で CTRL-Z を発行すると、現在のプロセスがすぐにバックグラウンドに送られます。この場合、どうすればよいでしょうか?

更新 - 私はこれを使用しています。もっと良い方法があることを願っています (もちろん、このコードのリファクタリングについて話しているわけではありません)。からのスニペットexpectj.StreamPiper