shelljava
Ⅰ java如何與shell實現交互
互動式模式就是shell等待你的輸入,並且執行你提交的命令。
這種模式被稱作互動式是因為shell與用戶進行交互。這種模式也是大多數用戶非常熟悉的:登錄、執行一些命令、簽退。當你簽退後,shell也終止了。
shell也可以運行在另外一種模式:非互動式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,並且執行它們。當它讀到文件的結尾,shell也就終止了。
Ⅱ java怎麼執行shell腳本
如果shell腳本和java程序運行在不同的伺服器上,可以使用遠程執行linux命令執行包,使用ssh2協議連接遠程伺服器,並發送執行命令就行了,ganymed.ssh2相關mave配置如下,你可以自己網路搜索相關資料。
如果shell腳本和java程序在同一台伺服器上,
這里不得不提到java的process類了。
process這個類是一個抽象類,封裝了一個進程(你在調用linux的命令或者shell腳本就是為了執行一個在linux下執行的程序,所以應該使用process類)。
process類提供了執行從進程輸入,執行輸出到進程,等待進程完成,檢查進程的推出狀態,以及shut down掉進程。
<dependency>
<groupId>com.ganymed.ssh2</groupId>
<artifactId>ganymed-ssh2-build</artifactId>
<version>210</version>
</dependency>
本地執行命令代碼如下:
Stringshpath="/test/test.sh";//程序路徑
Processprocess=null;
Stringcommand1=「chmod777」+shpath;
process=Runtime.getRuntime().exec(command1);
process.waitFor();
Ⅲ 用shell怎麼調用java程序
你是在linux環境下運行吧!
如果你是要編譯執行單個java文件,當然用javac,和java,如果是在一個shell腳本中妄圖調用java程序,假如這個程序是個jar包,也許可以這么干:在你能保證的路徑下放入可執行的jar包,然後在腳本中寫到:java -jar jar包路徑+jar包名稱.jar,不信可以在終端使用該命令!
------最後,希望採納!畢竟我們純手打!
Ⅳ 使用java怎麼寫一個shell腳本
java-cp"./classes:./classlib"-Dparam1=zzzzztest.myclass$0
-cp指定classpath
-D指定一個參數,程序內用System.getProperty("param1")訪問
$0把外部調用的參數傳遞給javaclass
Ⅳ 怎麼在shell腳本中運行java代碼
// 用法:Runtime.getRuntime().exec("命令");
String shpath="/test/test.sh"; //程序路徑
Process process =null;
String command1 = 「chmod 777 」 + shpath;
try {
Runtime.getRuntime().exec(command1 ).waitFor();
} catch (IOException e1) {
e1.printStackTrace();
}catch (InterruptedException e) {
e.printStackTrace();
}
String var="201102"; /參數
String command2 = 「/bin/sh 」 + shpath + 」 」 + var;
Runtime.getRuntime().exec(command2).waitFor();
Ⅵ Shell怎麼調用Java
安個jdk,然後shell腳本里調用jdk中的javac編譯java成class,然後調用java執行
Ⅶ shell向java傳遞數組
傳遞多個參數,或者參數用"括起來當一個字元串參數,在程序裡面再拆分。
Ⅷ 如何在java中執行shell腳本
import java.io.IOException;
public class test {
public static void main(String[] args) throws IOException,InterruptedException {
//Runtime.getRuntime().exec("/Users/lijialiang/codetest/stop.sh jmeter");
//Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","/codetest/stop.sh jmeter"});
//Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","ps -ef | grep jmeter | grep -v 'grep' |awk '{print $2}'>>result.txt"});
Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","ps -ef | grep <span style="font-family: Arial, Helvetica, sans-serif;">jmeter</span><span style="font-family: Arial, Helvetica, sans-serif;"> | awk '{print $2}' | xargs kill -9"});</span>
//Thread.sleep(100000);
}
}
Ⅸ linux shell調用java的jar包怎麼寫
這個應該不可能吧, 沒有jre光是你自己的java代碼怎麼可能執行. 唯一的可能就是你把jre也一起打包進你的jar文件, 然後再shell裡面運行jar文件的時候指定classpath到你的jar包路徑下的jre目錄