私のプログラムからシェルスクリプトを実行したいが、何もしないようだ。私はLinuxのターミナルで同じコマンドを直接実行したので、それは私のJavaコードを推測しているので、正常に動作します。ご覧のとおり、私は最初にPrintWriterを使ってシェルスクリプトにコマンドを書いていましたが、これはシェルスクリプト自体の実行には影響しないと考えています。どんな助けもありがとう!Javaでbashシェルスクリプトを実行する
public static void main(String[] args) {
// TODO Auto-generated method stub
String nfdump = "nfdump -o csv -r /home/shane/Documents/nfdump/nfcapd.201211211526>blank.txt";
try {
FileWriter fw = new FileWriter("/home/shane/Documents/script.sh");
PrintWriter pw = new PrintWriter(fw);
pw.println("#!/bin/bash");
pw.println(nfdump);
pw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Process proc = null;
try {
proc = Runtime.getRuntime().exec("sh /home/shane/Documents/script.sh");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
あなたが直接 'nfdump' – RNJ
興味表示されます私は自分のGUIからnfdumpを使用できるようにしたい、それは私が構築しているソフトウェアの一部です –
を実行していない理由)ProcessBuilderを代わりにRuntime.getRuntime(を見てください...私はこれを使用すると、私は少数の問題やものを持っているように見えるもう少しundestandable – Shane