クラスパスのjdkを含む、ユーザー入力を(ラインバッファを使用して)リッスンし、メインメソッド内から内部で実行するシェルがあるかどうか疑問に思っていました。ブラウザーの JavaScript コンソールまたは groovy コンソールのように見えるようにします。コードのスニペットをテストするのに便利です。
これをシェルに書き込んでリターンを押すだけです:
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n", envName, env.get(envName));
}
これが bsh.Interpreter でできることです。でもとても使いづらいと思います。シェル行でカーソルを前後に移動できません... ^[[D^[[D^[[D .... 最後の文字しか削除できません。OS固有かどうかはわかりませんが(私はLinuxを使用しています)、非常に不便です...
Jruby、Jython、Groovyではなく、Java言語で何かを意味します