我想知道是否有某种shell只能监听用户输入(使用行缓冲区)并在main方法内部运行,包括类路径上的jdk。 因此它在浏览器或groovy控制台中看起来像JavaScript控制台。 它可以方便地测试代码片段。
可以将其写入shell并点击return:
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n", envName, env.get(envName));
}
这就是bsh.Interpreter可以做的事情。但我发现它很难使用。我不能用光标在shell线上向后/向左移动...... ^ [[D ^ [[D ^ [[D ....我只能删除最后一个字符。不确定它是否是特定于操作系统的(我在Linux上),但它非常不方便......
我的意思是Java语言,而不是Jruby,Jython或Groovy
答案 0 :(得分:1)
Java文本控制台非常基本,具有行缓冲功能。这是Java的一个特性。您可以使用JNI更改输入,但是生成一个GUI可以更加简单,您可以完全控制输入的行为方式。
答案 1 :(得分:1)
答案 2 :(得分:0)
在rlwrap - http://utopia.knoware.nl/~hlub/rlwrap/
下运行bsh.Interpreterrlwrap是一个很棒的程序,可以将readline控件(历史记录调用,行编辑等)添加到任何命令行程序中。