javaアプリケーションからcatコマンドを実行し、その結果を取得したいのですが、うまくいきません。runtime.exec()実行中にエラーとなります。
String cmd = "cat error.log; echo $status";
Runtime runtime = Runtime.getRuntime;
Process process = runtime.exec(cmd);
rshを使うとOKです。
"rsh localhost cat error.log; echo $status"
shを使うとNGです。
"sh -c cat error.log; echo $status"
"sh -c \"cat error.log\"; echo $status"
ターミナルからは上記で内容取得、および、結果取得はできるのですが。
環境は、UNIX JDK1.2.1です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
多分、実行しているシェルがなんであるか、が分かっていないことが原因
でしょう。
$status って、csh 系のシェルにおいて最近のコマンドの終了状態を格納
しておくシェル変数ですから。
実行結果を取得したいだけであれば、パイプを使わなくとも Process に
該当するメソッドがあります。
こんな感じ。
Process proc = Runtime.getRuntime().exec(new String("cat error.log"));
proc.waitFor();
System.out.println(proc.exitValue());
ありがとうございます。
そのようですね。
いろんなことを一緒に考えてしまいました。
String[] cmd = {"rsh","hostname","cat filename;echo $status"};
Process proc = Runtime.getRuntime().exec(cmd);
結果:出力の最終行
String[] cmd = {"cat","filename"};
Process proc = Runtime.getRuntime().exec(cmd);
int res = proc.exitValue();
結果:res
ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- Perl bashスクリプト 2 2023/02/10 21:01
- UNIX・Linux Linuxのシェル関数を作成して要件を満たす方法 1 2022/11/19 20:33
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- PHP PHP MySql ページング 2 2022/09/20 06:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBプログラムから「管理者とし...
-
JAVAでログ出力するには?
-
Javaプログラムでコマンド実行...
-
JAVA バッチファイルの作成・...
-
ShellExecuteの使い方について
-
実行したらがメモ帳出て来てしまう
-
32bitアプリから64bitアプリの...
-
SYSTEM関数等を用いて複数のコ...
-
コマンドプロンプトが使えない
-
JavaでOSを再起動させる
-
CloudSticky.jarが起動しない。
-
Java getRuntime().exec() で...
-
Eclipseで、プロジェクト名のと...
-
Eclipseのアンインストールの仕方
-
正しいURL指定しているにもかか...
-
javaでuseBeanエラーの解決方法
-
JSPのクラスをコンパイルできな...
-
eclipse実行ができない
-
html上で、バッチやexeファイル...
-
マイクラjavaでForgeを入れたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでタイトルバーを非表示...
-
VBプログラムから「管理者とし...
-
ShellExecuteの使い方について
-
MacOS:ターミナルではNPMのコ...
-
CloudSticky.jarが起動しない。
-
batよりjava起動
-
jarファイルをバッチで実行させ...
-
32bitアプリから64bitアプリの...
-
windows power shell icacl
-
staticのメモリ共有について
-
Java VM のヒープサイズについて
-
eclipseからのターミナル実行方...
-
ACCESS VBA からエクセルを最小化
-
SYSTEM関数等を用いて複数のコ...
-
VB6.0 ラベルが文字化け
-
「SimpleEntry を型に解決でき...
-
C#からバッチファイルを起動で
-
javaからバッチファイル実行
-
JAVAでログ出力するには?
-
コマンドを実行してコマンドラ...
おすすめ情報