javaのRuntimeクラスを使用してユーザー入力を待つ次のシェルスクリプトを実行する方法はありますか?Javaランタイムを使用して対話型シェルスクリプトを実行する方法は?
#!/bin/bash
echo "Please enter your name:"
read name
echo "Welcome $name"
このタスクを実行するには、次のJavaコードを使用していますが、空白のコンソールしか表示されません。私はプログラム上で実行するとき
public class TestShellScript {
public static void main(String[] args) {
File wd = new File("/mnt/client/");
System.out.println("Working Directory: " +wd);
Process proc = null;
try {
proc = Runtime.getRuntime().exec("sudo ./test.sh", null, wd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
事は、私はそれがシェルスクリプトを実行しますと考えられ、そのシェルスクリプトは、ユーザの入力を待ちますが、それは単に現在のディレクトリを印刷した後、終了します。これを行う方法はありますか、それともJavaではまったく可能ではありませんか?事前
http://stackoverflow.com/questions/4784789/call-interactive:あなたは、Javaから外部スクリプトを実行するためにしている場合しかし、私は非常に強くコモンズExecのを見てすることをお勧めします-perl-script-from-java –