我在OSX上调用运行时执行,在命令之前添加“/ bin / bash”,“ - c”,例如:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd });
我知道Windows和Linux有所不同。如何确保我的运行时命令适用于多操作系统?
谢谢。
答案 0 :(得分:2)
使用类似:
String osName = System.getProperty("os.name");
if(osName.startsWith("Windows")) {
// windows code
} else {
if(osName.startsWith("Linux") {
// linux code
} else {
// mac code
}
}
免责声明:这只是方向性的。仍然有许多极端情况(例如FreeBSD)需要测试才能获得正确的行为。