之前调用脚本用的一直是Process java.lang.Runtime.exec(String[] cmdarray) throws IOException这个API,而cmdarray这个参数我一般写成是
String[] commands = { "bash", "-c", “test.sh”};
今天发现有参数的情况下,数组应该写成
String[] commands = { "bash", “test.sh”, arg1, arg2};
或者 String[] commands = { "bash", “test.sh arg1 arg2“};
不能有-c这个参数。
当写成String[] commands = { "sh", “test.sh”, arg1, arg2};时,执行部分必须是个script而不能是个可执行二进制文件,譬如说是/bin/ping