1
我使用cygwin運行Shell腳本。在命令行運行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文件夾並運行它的工作原理相同。
當我在命令行運行相同的命令它將無法正常工作。
你是什麼意思的「它不會工作」?你得到什麼錯誤?該命令沒有找到?或者找到命令但輸出不正常? – taskinoor 2011-12-27 15:28:29
輸出不正確,如/bin/test/app.sh:第226行:get_ProgramID:command not found – 2011-12-27 15:34:11