我正在尝试编写一个可以打开终端并向其输入命令的Java程序。命令是“ wrspice”,可以启动应用程序。我在.bashrc中添加了“ wrspice” PATH,并且工作正常。但是,当我使用ProcessBuilder编写Java代码执行时,它弹出“ bash:wrspice:找不到命令”错误。这是我的Java代码:
final String[] wrappedCommand;
wrappedCommand = new String[]{ "xterm", "-hold", "-e", "wrspice"};
Process process = new
ProcessBuilder(wrappedCommand).redirectErrorStream(true).start();
当我用“ ls”替换“ wrspice”以打印文件列表时,此代码可以正常工作。但是,当我尝试“ wrspice”时,出现“找不到命令”的错误。
这是我在.bashrc中添加“ wrspice”的方法: 导出PATH = / usr / local / xictools / bin:$ PATH
有人有什么想法吗?预先感谢。
答案 0 :(得分:0)
Java不是交互式shell。指定命令的完整路径。而且您不需要new String[]
。喜欢,
wrappedCommand = { "xterm", "-hold", "-e", "/usr/local/xictools/bin/wrspice"};
您可能还应该指定xterm的路径。仔细检查系统。
wrappedCommand = { "/usr/bin/xterm", "-hold", "-e", "/usr/local/xictools/bin/wrspice"};