その他/シェルに終了コードを渡す方法
の編集
Top
/
その他
/
シェルに終了コードを渡す方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
AutoTicketLinkName
FrontPage
MenuBar
WikiWikiWeb
お約束
その他
その他/JavaでBeep(Bell)を鳴らすサンプルソース
その他/UnsupportedClassVersionErrorの原因及び対処法
その他/シェルに終了コードを渡す方法
システム関連
システム関連/Javaの情報を取得する
システム関連/Javaを実行するOS情報を取得する
ソート
ソート/ArrayListのソートサンプル
ソート/独自クラスでキー指定のソートサンプル
ソート/独自クラスのソートサンプル
ネットワーク
ネットワーク/HTTP(GET)サンプルソース
ファイル操作
ファイル操作/basename,dirnameのサンプル
ファイル操作/CSV取込みサンプルを作ってみた
ファイル操作/サブディレクトリ内を含むファイル一覧を取得
ファイル操作/テキストファイルの出力
ファイル操作/テキストファイルの読み込み
ファイル操作/ディレクトリ配下のファイルを削除する
ファイル操作/デフォルトのファイル文字コードを確認する
ファイル操作/デフォルトの改行コードを確認する
ファイル操作/ファイルかディレクトリかを確認する
ファイル操作/ファイルの削除
ファイル操作/ファイルを追記モード開き文字列を追加する
ファイル操作/ファイル・ディレクトリの有無(存在)確認
ファイル操作/ファイル一覧を標示する
プライバシーポリシー
変数操作
変数操作/メンバ変数の初期値はどのような値になっているか
変数操作/数値から文字列に変換するサンプルソース
変数操作/文字列から数値に変換するサンプルソース
数値操作
数値操作/数値をカンマ区切りで整形したい
数値操作/数値をカンマ区切りで整形し+記号を付けたい
数値操作/数値型の最大値・最小値
文字列操作
文字列操作/文字列が数字のみで構成されているかを確認する
文字列操作/文字列のリーバス(反転)
文字列操作/英字の大文字・小文字変換サンプル
日時操作
日時操作/DATEから年月日を抽出するサンプル
日時操作/うるう年のチェックを行う
最初にお読みください
標準入出力
標準入出力/STDOUTとSTDERRに出力する方法
標準入出力/パイプによるデータを受け取る方法
環境
環境/Eclipseで変数名なども補完できるようにする
環境/native2asciiで変換された文字列をもとに戻す
環境/UbuntuにaptコマンドでNetBeansをインストールしてみる
逆引きJavaサンプル
配列等操作
配列等操作/ArrayListのリバース(反転)サンプル
配列等操作/HashMapを使ったサンプル
#navi(../) * シェルに終了コードを渡す方法 [#yd6b0062] Linux(*BSD)などを使用していて、Javaプログラムとシェルスクリプトとの連携を取るため~ Javaプログラムの終了コード(終了ステータス)を取得したい場合があると思います。~ このような場合は、System.exitを使えば簡単に実現することができます。~ 以下にサンプルソースと実行例をいくつか紹介します。 #contents * System.exitを使う [#g7ab7522] System.exitを使用すれば、シェルスクリプトに終了ステータス(終了コード)を返却することができます。~ ただし、返却する値によっては意図しない値が返却されますので、意図しない値が返却される実行例も記します。 4つのサンプルソースを用意しました。~ 返却する値が違うだけです。~ - 0を返却 #ref(ExitCode0.java) class ExitCode0 { public static void main(String[] args) { int exitcode = 0; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } - 1を返却 #ref(ExitCode1.java) class ExitCode1 { public static void main(String[] args) { int exitcode = 1; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } -256を返却 #ref(ExitCode256.java) class ExitCode256 { public static void main(String[] args) { int exitcode = 256; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } - -1を返却 #ref(ExitCodeMinus.java) class ExitCodeMinus1 { public static void main(String[] args) { int exitcode = -1; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } * 実行例 [#wdf27836] コンパイルして実行した時の出力です。 $ javac ExitCode*.java -0を返却を実行 $ java ExitCode0 exitcode: 0 $ echo $? 0 -1を返却を実行 $ java ExitCode1 exitcode: 1 $ echo $? 1 -256を返却を実行~ &color(red){256ではなく、シェルでは0となっています。}; $ java ExitCode256 exitcode: 256 $ echo $? 0 - -1を返却を実行~ &color(red){-1ではなく、シェルでは255となっています。}; $ java ExitCodeMinus1 exitcode: -1 $ echo $? 255 上記の出力からわかるように、シェルの$?で最後に実行したコマンドの終了コードを表示します。~ しかし、256, -1は意図した値になっていません。~ これは、シェルでは1バイト(char)として扱っているためだと思われます。~ 終了コードの値には気をつけてシェルスクリプトとの連携を行ってください。 以上、シェル(シェルスクリプト)にJavaで作成したプログラムの終了コード(終了ステータス)を返却する方法でした。
タイムスタンプを変更しない
#navi(../) * シェルに終了コードを渡す方法 [#yd6b0062] Linux(*BSD)などを使用していて、Javaプログラムとシェルスクリプトとの連携を取るため~ Javaプログラムの終了コード(終了ステータス)を取得したい場合があると思います。~ このような場合は、System.exitを使えば簡単に実現することができます。~ 以下にサンプルソースと実行例をいくつか紹介します。 #contents * System.exitを使う [#g7ab7522] System.exitを使用すれば、シェルスクリプトに終了ステータス(終了コード)を返却することができます。~ ただし、返却する値によっては意図しない値が返却されますので、意図しない値が返却される実行例も記します。 4つのサンプルソースを用意しました。~ 返却する値が違うだけです。~ - 0を返却 #ref(ExitCode0.java) class ExitCode0 { public static void main(String[] args) { int exitcode = 0; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } - 1を返却 #ref(ExitCode1.java) class ExitCode1 { public static void main(String[] args) { int exitcode = 1; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } -256を返却 #ref(ExitCode256.java) class ExitCode256 { public static void main(String[] args) { int exitcode = 256; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } - -1を返却 #ref(ExitCodeMinus.java) class ExitCodeMinus1 { public static void main(String[] args) { int exitcode = -1; System.out.println("exitcode: " + exitcode); System.exit(exitcode); } } * 実行例 [#wdf27836] コンパイルして実行した時の出力です。 $ javac ExitCode*.java -0を返却を実行 $ java ExitCode0 exitcode: 0 $ echo $? 0 -1を返却を実行 $ java ExitCode1 exitcode: 1 $ echo $? 1 -256を返却を実行~ &color(red){256ではなく、シェルでは0となっています。}; $ java ExitCode256 exitcode: 256 $ echo $? 0 - -1を返却を実行~ &color(red){-1ではなく、シェルでは255となっています。}; $ java ExitCodeMinus1 exitcode: -1 $ echo $? 255 上記の出力からわかるように、シェルの$?で最後に実行したコマンドの終了コードを表示します。~ しかし、256, -1は意図した値になっていません。~ これは、シェルでは1バイト(char)として扱っているためだと思われます。~ 終了コードの値には気をつけてシェルスクリプトとの連携を行ってください。 以上、シェル(シェルスクリプト)にJavaで作成したプログラムの終了コード(終了ステータス)を返却する方法でした。
テキスト整形のルールを表示する
添付ファイル:
ExitCodeMinus.java
439件
[
詳細
]
ExitCode256.java
393件
[
詳細
]
ExitCode1.java
442件
[
詳細
]
ExitCode0.java
415件
[
詳細
]