Java コードからシェル スクリプトを実行しようとしています。
シェルスクリプト:
function print() {
echo "First Script"
}
print
echo "Hello"
Java コード :
final String cmd = "sh test.sh";
final Process p = Runtime.getRuntime().exec(cmd);
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
is = p.getErrorStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
System.out.println(line);
}
しかし、上記のコードを実行すると、このエラーが発生しますtest.sh: 1: Syntax error: "(" unexpected
。
コマンドラインで試してみると、同じコードが正常に機能し、出力を確認できます。Javaコードも試しdos2unix
てみましたが、まだ運がありません。どんな種類の助けも本当に感謝しています。