最近需要通过Shell命令执行脚本把两个mp3文件合并成一个mp3文件,该命令有管道重定向的语句,结果硬是执行不成功,而且也没异常报出,经过一段时间的折腾终于解决了此问题,代码很简单,只需要加一句代码就可以了
public static boolean callShellIntensify(String shellString) {
try {
if (isLinuxSystem()) {
log.debug("=============================================开始编译");
log.debug("==========编译脚本" + shellString);
// 加上词句拼装执行复杂shell
String[] cmd = new String[]{"sh", "-c", shellString};
Process process = Runtime.getRuntime().exec(cmd);
int exitValue = process.waitFor();
if (0 != exitValue) {
log.debug("=============================================call shell failed. error code is :" + exitValue);
return true;
}
log.debug("=============================================编译结束");
}
return true;
} catch (Throwable var4) {
log.debug("=============================================call shell failed. " + var4);
return false;
}
}