java鎬庝箞璋冪敤shell鑴氭湰
Java鍙互閫氳繃Runtime绫绘垨ProcessBuilder绫绘潵璋冪敤Shell鑴氭湰銆?/p>
- 浣跨敤Runtime绫昏皟鐢⊿hell鑴氭湰锛?/li>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RunShellScript {
public static void main(String[] args) {
try {
// 璋冪敤Shell鑴氭湰鐨勫懡浠?/span>
String command = "sh /path/to/script.sh";
// 鎵цShell鑴氭湰
Process process = Runtime.getRuntime().exec(command);
// 鑾峰彇Shell鑴氭湰鐨勮緭鍑虹粨鏋?/span>
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 绛夊緟鎵ц瀹屾垚
int exitCode = process.waitFor();
System.out.println("Shell鑴氭湰鎵ц瀹屾垚锛岄€€鍑虹爜锛?quot; + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
- 浣跨敤ProcessBuilder绫昏皟鐢⊿hell鑴氭湰锛?/li>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
public class RunShellScript {
public static void main(String[] args) {
try {
// 璋冪敤Shell鑴氭湰鐨勫懡浠?/span>
List<String> command = List.of("sh", "/path/to/script.sh");
// 鍒涘缓ProcessBuilder瀵硅薄锛屽苟璁剧疆鍛戒护
ProcessBuilder processBuilder = new ProcessBuilder(command);
// 璁剧疆宸ヤ綔鐩綍
processBuilder.directory(null); // 璁剧疆涓簄ull琛ㄧず浣跨敤褰撳墠宸ヤ綔鐩綍
// 鎵цShell鑴氭湰
Process process = processBuilder.start();
// 鑾峰彇Shell鑴氭湰鐨勮緭鍑虹粨鏋?/span>
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 绛夊緟鎵ц瀹屾垚
int exitCode = process.waitFor();
System.out.println("Shell鑴氭湰鎵ц瀹屾垚锛岄€€鍑虹爜锛?quot; + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
娉ㄦ剰锛氬湪璋冪敤Shell鑴氭湰鏃堕渶瑕佹牴鎹疄闄呮儏鍐垫浛鎹?code>/path/to/script.sh涓哄疄闄呯殑Shell鑴氭湰鏂囦欢璺緞銆?/p>