有 BeanShell 的替代品吗?诸如 javascript 或 Java 的 groovy 控制台之类的东西?

发布于 2024-11-13 15:58:33 字数 524 浏览 4 评论 0原文

我想知道是否有某种 shell 只监听用户输入(使用行缓冲区)并从 main 方法内部运行,包括类路径上的 jdk。 这样它看起来就像浏览器中的 JavaScript 控制台或 groovy 控制台。 这对于测试代码片段会很方便。

人们可以将其写入 shell 并按回车键:

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

I was wondering if there is some kind of shell that would just listen to user input (with a line buffer) and run in internally from within main method, including jdk on classpath.
So that it would look like JavaScript console in browsers or groovy console.
It would be handy for testing snippets of code.

One could just write this into the shell and hit return:

Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
    System.out.format("%s=%s%n", envName, env.get(envName));
}

This is what bsh.Interpreter can do. But I find it very hard to use. I cannot move back/left with cursor on the shell line... ^[[D^[[D^[[D .... I can only delete last characters. Not sure if it is OS specific (I'm on linux) but it is very inconvenient...

I mean something in Java language, not Jruby, Jython or Groovy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兔姬 2024-11-20 15:58:33

Java 文本控制台是非常基本的行缓冲。这是Java的一个特性。您可以使用 JNI 更改输入,但是生成一个 GUI 会更简单,您可以在其中完全控制输入的行为方式。

Java text console is very basic with line buffering. This is a feature of Java. You can change the input using JNI, however it is simpler to produce a GUI where you have full control over how you want the input to behave.

自此以后,行同陌路 2024-11-20 15:58:33

您可以尝试使用行为类似于 shell 的 Beanshell 图形桌面。

启动

java bsh.Console   // runs the graphical desktop

You can try to use the Beanshell graphical desktop that behaves just like a shell.

Start it with:

java bsh.Console   // runs the graphical desktop
陌伤ぢ 2024-11-20 15:58:33

在 rlwrap 下运行 bsh.Interpreter - http://utopia.knoware.nl/~hlub/rlwrap/< /a>

rlwrap 是一个很棒的程序,它向任何命令行程序添加了 readline 控件(历史记录、行编辑等)。

Run bsh.Interpreter under rlwrap - http://utopia.knoware.nl/~hlub/rlwrap/

rlwrap is a great program that adds readline controls (history recall, line editing, etc) to any command-line program.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文