在同一终端中执行“ stty raw”命令?
我正在尝试将控制台置于Java中的“原始”模式。我了解这仅适用于UNIX。
我正在使用命令 stty raw
如果我直接在终端中键入命令,它将完成应有的操作。在Java中,我尝试设置如下模式:
Runtime.getRuntime().exec("stty raw");
但是终端不会进入原始模式。
我有一种感觉,这是因为Java只是在后台的虚拟终端中执行命令,而不是在活动终端中执行命令。有没有办法做到这一点?
回答:
由于JVM重定向了stdio / stdout / stderr,因此您可以尝试执行以下操作:
String[] cmd = {"/bin/sh", "-c", "stty raw </dev/tty"};Runtime.getRuntime().exec(cmd);
请注意,stty(通常)在stdin而不是stdout上运行。
以上是 在同一终端中执行“ stty raw”命令? 的全部内容, 来源链接: utcz.com/qa/420473.html