我有一个要在 Java 类中执行的 shell 脚本。shell 脚本接受一个输入文件并从中生成一个输出文件。
要执行它,我使用 apache commons exec。这是我的小代码:
CommandLine cmdLine = CommandLine.parse("/bin/sh ./generate_void_description.sh ./n3file ./voidfile");
int exitValue = executor.execute(cmdLine);
结果,我收到此错误消息:
./generate_void_description.sh: 44: ./generate_void_description.sh: Syntax error: "(" unexpected
org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2)
当然,我可以阅读并且我理解该消息意味着脚本中存在语法错误,但是。
1)我没有编写脚本,也不熟悉 bash 脚本语法 2)当我在 ubuntu 的终端上运行该脚本时,该脚本运行良好,没有任何错误
它与用户权限有关吗?我需要创建一个输出文件,如果如果我没有这样做的权限