我在windows下写了一个.bat批处理文件,文件内容:
exp system/manager1@db tables=T_YHXX grants=y file=d:\e.dmp
imp system/ff@dddd tables=T_YHXX grants=y file=d:\e.dmp
exit
就是导入导出,java是这样调用的:
public static void main(String[] args){
try {
    String command = "cmd.exe /C start c:\\a.bat";
    Process child = Runtime.getRuntime().exec(command);
 } catch (IOException e) {
 e.printStackTrace();
 }
}
请问要是在linux下,有没有对应的cmd的方法,能让它自动执行的语句,sh行不行?请给一段实例,谢谢

解决方案 »

  1.   

    public void startup() {
    try {
    Process process = Runtime.getRuntime().exec("sh startup.sh &");
    InputStream inputStream = process.getInputStream();
    byte[] bs = new byte[1024];
    inputStream.read(bs);
    inputStream.close();
    } catch (IOException e) {
    log.error(e.getMessage());
    }
    }
      

  2.   

    貌似楼主需要一个在Linu下面的“.dat”文件“.sh”
      

  3.   

    个人认为:不用这么麻烦吧!直接调用你目录下的sh不就ok拉!
    Runtime.getRuntime().exec("startup.sh",null,new File("你的sh所在目录"));
    就可以执行目录所在的sh!
      

  4.   

    跟bat差不多,唯一不同的是在引用包与包之间不是分号隔开,是冒号
    例:
    java -classpath java -classpath ../lib/log4j-1.2.8.jar:../lib/tools.jar:../lib/app.jar  cn.test.Test
      

  5.   

    sh,其实跟windows下的bat,差不多,只要将命令换成linux的,就可以了。