关于java中如何调用shell脚本文件

先粘贴java文件

public class javas{

        public static void main(String[] args) throws Exception{

    String path = "./shells.sh";

//添加执行权限,如果文件本身有执行权限,则可以忽略

String command1 = "chmod 777 ./shells";

    Runtime.getRuntime().exec(command1).waitFor();

  Runtime.getRuntime().exec(shpath).waitFor();

        }

}

//其实java里就一行代码, Runtime.getRuntime().exec(“linux命令”).waitFor();

再粘贴shell文件

#!/bin/bash

echo "hello world yes" > a.txt


 这里注意一个地方,要输出到一个文件里,如果只写echo "hello world yes",会发现很郁闷的事,执行./shells时输出"hello world yes",

执行java javas时不报错,但没有任何输出。我是菜鸟,不太清楚,估计是输出到jdk那些什么的log里了。

当写完了这两个文件之后,输入命令

javac javas.java

java javas

之后,ls,发现当前目录里多了一个a.txt,

vi a.txt 

里面是hello world yes

你可能感兴趣的:(关于java中如何调用shell脚本文件)