3

jBASH や luaj などの既知のライブラリを使用して、 ComputerCraft のCraftOS インターフェイスと同様に機能する一種のコマンド ラインを Java 内で作成する方法を見つけようとしていますが、私が遭遇したものはすべて、もうメンテナンスされていないか、メンテナンスされていないようです。うまく機能します。残念ながら、dan200 は彼の情報源を厳重に管理しているため、彼がどのようにそれを行ったのかさえわかりません...

これは、独自の BASH-y シェルおよび/または独自の LUA-y スクリプト メソッドを作成しなければならなくなる可能性があることを意味しますか、それとも、現在維持されているもので、少なくともある程度使用できるものはありますか?

4

3 に答える 3

2

いくつかのコードで私のコメントをフォローアップするだけです。

Process p = Runtime.getRuntime().exec("/bin/bash");
InputStream stdout = p.getInputStream();
InputStream stderr = p.getErrorStream();
OutputStream stdin = p.getOutputStream();

そして、おそらくそれらBufferedReaderBufferedWriterそれぞれ と でラップして、文字ストリームとして使用できるようにし、テキスト行の読み取りや書き込みなどを実行できるようにします。例えば;

BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
于 2012-10-05T15:15:04.567 に答える
1

[…] jBASH や luaj などの既知のライブラリ。

Luaj は Sourceforge で高く評価されています。最後に更新されたのは 1 年前です。それ以来、更新が行われていないということは、実際には更新が必要ないことを意味するだけかもしれません。Lua は非常に単純な言語です。

luaj が 100% 完璧ではないことがわかったとしても、「独自の BASH-y シェルや独自の LUA-y スクリプト メソッドを作成する必要がある」よりも、それを変更する方がはるかに簡単だと思います。(後者も、スクリプト言語の実装経験がない限り、おそらく 100% 完璧な結果にはなりません。)

于 2012-10-05T15:16:46.437 に答える