- - PR -
コマンド実行
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-19 16:45
度々すいません。
また質問なのですがRuntime#exec()を使って kterm -e sh -c './input; read line' を実行しようとしているのですがktermが起動するとエラー文がでてすぐに消えてしまいます。 何とかエラー文は見れたのですがよくわかりません。 エラー文 ./input : -c: line1 : unexpected EOF while looking for matching "'" ./input : -c: line2 : syntax error : unexpected end of file ターミナル上ではエラーもなく実行できるのですがなにか良い解決法はないでしょうか? | ||||
|
投稿日時: 2004-11-19 17:34
Runtime#exec() は引数の型によってたくさんありますが、どれを使っていますか?
もしかして、 Runtime#exec(String) などのコマンドライン全体を一個のStringで渡すメソッドは シングルクォートを認識してくれないという、単純な問題かも・・・ | ||||
|
投稿日時: 2004-11-19 18:14
早速レスありがとうございます。
Runtime#exec()はRuntime#exec(new String[]{"kterm","-e","sh","-c","'","./input",";","read","line"}); とやっています。 すいません。長くなって。 | ||||
|
投稿日時: 2004-11-19 18:24
最後にシングルクォーテーションが必要なのでは? | ||||
|
投稿日時: 2004-11-19 19:27
コマンドラインから
kterm -e sh -c './input; read line' と入力するのと同じことをしたいなら、 String[] の中身は、 { "kterm", "-e", "sh", "-c", "./input; read line" } でしょう。 | ||||
|
投稿日時: 2004-11-19 20:39
ukさん
すいません。うっかり忘れてました。次回から気をつけるようにします。 ご指摘ありがとうございます。 coasmさん 無事同じ事をさせることができました。 ありがとうございます。 |
1