【发布时间】:2011-12-27 15:23:39
【问题描述】:
我正在使用 cygwin 运行 Shell 脚本。
Process p;
InputStream in;
BufferedReader br;
String line;
String cmd;
cmd = "D:/cygwin/bin/bash -c '/bin/test/app.sh" +three_ltr_id+""+mon_code+""+year_code+""+part_no+""+version_no+" '";
System.out.println("EXECUTING: " + cmd);
p = Runtime.getRuntime().exec(cmd);
in = p.getInputStream();
p.waitFor();
br = new BufferedReader(new InputStreamReader(in));
System.out.println("OUT:");
while ((line = br.readLine()) != null) {
System.out.println(line);
System.out.println("SCRIPT EXECUTED PROPERLY");
这显示了 EXECUTING 和我传递给脚本的命令。
如果我进入 D:/cygwin/bin/test 文件夹并运行相同的命令,它可以工作。
当我在命令行运行相同的命令时,它不会工作。
【问题讨论】:
-
“它不会工作”是什么意思?你得到什么错误?找不到命令?还是找到了命令但是输出不行?
-
输出不正确,如 /bin/test/app.sh:第 226 行:get_ProgramID:找不到命令