我尝试从 Java 进程中的特定位置调用带有文件的 vim 编辑器:
Runtime.getRuntime().exec("gvim /etc/fstab '+normal GW'");
不幸的是,这不起作用。它给出了一条来自 gvim 的奇怪错误消息,这无助于发现问题 ("/etc/fstab" "/etc/fstab" [readonly] 12L, 664C)。
直接输入终端的相同命令效果很好。
我试图修改命令:
Runtime.getRuntime().exec("gvim /etc/fstab +normal\ GW");
直接在终端中输入时也可以使用。但这给出了完全相同的行为。
什么工作是将命令及其参数拆分为 String[]:
Runtime.getRuntime().exec(new String[]{"gvim", "/etc/fstab" ,"+normal GW"});
这种行为的原因是什么?如何从 Java 中将上述命令作为单个字符串调用?
慕森王
PIPIONE
相关分类