導航:首頁 > 程序命令 > 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命令相關的資料

熱點內容
北京伺服器配件市場雲主機伺服器 瀏覽:325
什麼是投影機安卓棒 瀏覽:436
如何在阿里雲伺服器寫程序 瀏覽:603
maincpp怎麼轉換成命令編譯 瀏覽:312
三星怎麼裝央視app 瀏覽:726
ug編程r值 瀏覽:106
方舟生存進化如何登錄官方伺服器 瀏覽:589
平安雲伺服器哪個好 瀏覽:91
程序員老爸帶孩子 瀏覽:948
aspnet還是php 瀏覽:229
還是文件夾夾娃娃機 瀏覽:842
加密磁碟後系統重裝不了 瀏覽:871
管家婆的伺服器怎麼改 瀏覽:840
ice修復伺服器怎麼樣 瀏覽:943
給文檔加密選擇什麼選項卡 瀏覽:108
qq一般是什麼加密 瀏覽:951
單機的加密軟體 瀏覽:327
indesign導出pdf 瀏覽:923
長程h6運動版壓縮比 瀏覽:244
什麼是app外掛 瀏覽:480