我正在尝试写一个java程序,它可以打开终端并向其输入命令。命令是"wrspice“,它可以启动一个应用程序。我已经在.bashrc中添加了"wrspice“路径,它工作得很好。但是当我使用ProcessBuilder编写java代码来执行时,它会弹出"bash: wrspice: command not found“错误。下面是我的java代码:
final String[] wrappedCommand;
wrappedCommand = new String[]{ "xterm", "-hold", "-e", "wrspice"};
Process process = new
ProcessBuilder(wrappedCommand).redirectErrorStream(true).start();
当我将"wrspice“替换为"ls”以打印文件列表时,此代码工作正常。但是当我尝试"wrspice“时,它给我的错误是”没有找到命令“。
下面是我如何在.bashrc中添加"wrspice“:export PATH=/usr/local/xictools/bin:$PATH
有谁有什么想法吗?提前谢谢。
发布于 2018-10-07 02:31:10
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"};
https://stackoverflow.com/questions/52682034
复制相似问题