導航:首頁 > 程序命令 > javashell命令

javashell命令

發布時間:2022-05-08 01:44:49

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();

python執行shell命令和java執行shell命令的區別

沒區別。。。
因為都是調用的同一個東西,能有區別嗎?

㈢ java 如何調用shell命令來卸載或安裝軟體。

public static void test2() {
Runtime rt = Runtime.getRuntime();
try {
rt.exec("cmd /c 文件路徑及文件名.擴展名");
}
}

㈣ linux下java執行shell命令,該怎麼解決

package com.chinasoft;

import java.io.IOException;

public class LiunxEXEjava {
public static void main(String[] args) {
Process process=null;
try {
//path 程序路徑
//exec(shell 命令)
process= Runtime.getRuntime().exec("chmod 777 path");
process.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

process這個類是一個抽象類,封裝了一個進程(你在調用linux的命令或者shell腳本就是為了執行一個在linux下執行的程序,所以應該使用process類)。

process類提供了執行從進程輸入,執行輸出到進程,等待進程完成,檢查進程的推出狀態,以及shut down掉進程。

至於詳細的process類的介紹放在以後介紹。

另外還要注意一個類:Runtime類,Runtime類是一個與JVM運行時環境有關的類,這個類是Singleton的。

這里用到的Runtime.getRuntime()方法是取得當前JVM的運行環境,也是java中唯一可以得到運行環境的方法。(另外,Runtime的大部分方法都是實例方法,也就是說每次運行調用的時候都需要調用到getRuntime方法)

下面說說Runtime的exec()方法,這里要注意的有一點,就是public Process exec(String [] cmdArray, String [] envp);這個方法中cmdArray是一個執行的命令和參數的字元串數組,數組的第一個元素是要執行的命令往後依次都是命令的參數,envp感覺應該和C中的execve中的環境變數是一樣的,envp中使用的是name=value的方式。

㈤ Java解析執行shell命令返回的結果

String s = 那串結果;
String useful = s.substring(s.indexOf("/"));
String[] every = useful.split(" /");
得到的數組就是每個的信息,然後再解析(但要注意,第一個的開頭有一個斜線/)

㈥ cmd中java有一個命令shell,是什麼命令

你說的是Jshell命令吧。
使用Jshell,可以直接在終端寫Java程序,回車就可以執行;
不需要把代碼寫到文件里編譯後再執行。

㈦ 如何用java調用linux shell命令

**
* 運行shell腳本
* @param shell 需要運行的shell腳本
*/
public static void execShell(String shell){
try {
Runtime rt = Runtime.getRuntime();
rt.exec(shell);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 運行shell
*
* @param shStr
* 需要執行的shell
* @return
* @throws IOException
*/
public static List runShell(String shStr) throws Exception {
List<String> strList = new ArrayList();

Process process;
process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",shStr},null,null);
InputStreamReader ir = new InputStreamReader(process
.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
process.waitFor();
while ((line = input.readLine()) != null){
strList.add(line);
}

return strList;
}

閱讀全文

與javashell命令相關的資料

熱點內容
微信解壓游戲怎麼下載 瀏覽:961
忍三伺服器不同如何登上賬號 瀏覽:821
php求積 瀏覽:294
封面命令 瀏覽:879
手機復制文件夾到另一個文件夾 瀏覽:992
手游為什麼不能統一下伺服器 瀏覽:246
iphone上pdf 瀏覽:884
window定時python腳本 瀏覽:64
怎麼運行cmd命令行 瀏覽:366
php中類的繼承 瀏覽:228
openvpnlinux安裝配置 瀏覽:463
PHP7從入門到精通 瀏覽:27
單片機生日 瀏覽:500
linux當前進程號 瀏覽:728
老死pdf 瀏覽:25
雲伺服器關機網址不見了 瀏覽:69
余冠英pdf 瀏覽:756
開發一個app上市需要什麼步驟 瀏覽:28
phpsleep方法 瀏覽:430
時間同步伺服器ip地址6 瀏覽:926