Java ワンポイントレッスン〜Javaからコマンドを叩く〜

コンソール画面、ターミナルから「echo "タイガーマスク" | echo ": 伊達直人"」とコマンドを叩くのと同様なことをJavaで行う

public static void main(String[] args) throws Exception{
	String[] cmd = {"/bin/sh", "-c", ¥"タイガーマスク¥" | echo ¥": 伊達直人¥""};
	Process process = Runtime.getRuntime().exec(cmd);
	BufferedReader buf = new BufferedReader(new InputStreamReader(process.getInputStream()));
	String line = "";
	while( (line = buf.readLine()) != null) {
		System.out.println(line);
	}
}

こんな感じに、シェル経由で実行してやればオッケー

ただし、ユーザー指定の環境変数を使用しているコマンドはパスを指定してやらないと動かない。。。

<例>

「echo」コマンドは動くけど新たにインストールした「mecab」コマンドは動かない・・・

コメントを残す