在同一个终端中执行“stty raw”命令?

5

我正在尝试在Java中将控制台设置为“原始”模式。我了解到这只适用于UNIX系统。

我正在使用命令stty raw

如果我直接在终端中输入该命令,它会按预期执行。在Java中,我尝试像这样设置模式:

Runtime.getRuntime().exec("stty raw");

但终端并没有进入原始模式。

我有一种感觉,这是因为Java只是在后台执行命令,而不是在活动终端中执行。有办法解决这个问题吗?

1个回答

6

JVM重定向了标准输入/标准输出/标准错误输出,您可以尝试以下内容:

String[] cmd = {"/bin/sh", "-c", "stty raw </dev/tty"};
Runtime.getRuntime().exec(cmd);

请注意,stty(通常)操作的是标准输入而不是标准输出。

有没有在Windows上执行这个命令的机会?这个</dev/tty重定向操作? :/ - insan-e

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接