9.4.3 adshcmdrcコマンド(コマンドの終了コードしきい値を定義する)
形式
adshcmdrc コマンド名 しきい値
機能
ジョブ定義スクリプトから実行されるコマンドの終了コードが0でない場合でも正常終了と見なしたい場合,対象となるコマンド名と,しきい値となる値を定義します。これによって,コマンドの終了コードがしきい値以下の場合が正常終了となります。引数に指定したコマンドがシグナルを受信して終了した場合は,この指定に関係なく,引数に指定したコマンドはエラー終了します。このコマンドは,4095個まで指定できます。
このコマンドの定義の有効範囲を次に示します。
-
コマンドを指定した個所以降のジョブ定義スクリプト実行で有効。
-
同じコマンドに対しての定義が2つ以上ある場合,対象のコマンドの個所に近い定義が有効。
-
ジョブステップ外に指定した場合,ジョブ定義スクリプト全体に有効。
-
ジョブステップ内に指定した場合,指定した個所以降からジョブステップ終了まで有効。
引数
- コマンド名 ~<コマンド名>((1~255バイト))
-
正常終了と見なす終了コードを定義するコマンドの名称を指定します。Windowsの場合は拡張子付きの指定もできます。コマンドのパスは指定できません。指定できるコマンドの種類を次に示します。これら以外のコマンドも,別プロセス実行(パイプ,コマンド置換,|&,&を使用)した場合は対象になります。
-
外部コマンド
-
UNIX互換コマンド
-
シェル運用コマンド
-
コマンドとして実行したスクリプト(#!によって実行)
-
子孫ジョブ
-
関数(CMDRC_CMDGRP_CHECKパラメータのオペランドにFUNCTIONを指定したときだけ)
Windowsでコマンド名の拡張子を省略すると,指定した名称と同じ名称のコマンドやバッチファイルが,拡張子に関係なくしきい値の管理対象になります。Windowsでスペースを含むコマンド名を指定する場合は,"(ダブルクォーテーション)で囲んでください。
-
- しきい値 ~<整数>((-1~255))
-
終了コードで正常終了と見なすしきい値を定義します。ここで指定したしきい値より終了コードが大きい場合,エラー終了と見なします。
-1を指定した場合,実行結果は常にエラー終了します。
255を指定した場合,実行結果は常に正常終了します。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1 |
エラー終了 |
注意事項
-
このコマンドは,変数置換やエイリアスの解決後のコマンド名に対して適用されます。
-
子孫ジョブとして実行するジョブ定義スクリプトに対して,正常終了と見なす終了コードしきい値を定義したい場合,子孫ジョブの定義にはCHILDJOB_EXTパラメータまたはCHILDJOB_SHEBANGパラメータを使用してください。CHILDJOB_PGMパラメータで子孫ジョブを定義した場合,終了コードのしきい値の対象と見なされません。
-
CMDRC_CMDGRP_CHECKパラメータにFUNCTIONを指定した場合,引数のコマンド名に関数名を指定することで,関数に対して正常終了とみなす終了コードしきい値を定義できます。CMDRC_CMDGRP_CHECKパラメータを指定しない場合,またはCMDRC_CMDGRP_CHECKパラメータにNONEを指定した場合,引数のコマンド名に関数名を指定しても,同名のコマンド名が指定されたとして処理されます。
-
CMDRC_CMDGRP_CHECKパラメータにFUNCTIONを指定した場合,関数内に指定したadshcmdrcコマンドの定義は有効になりません。CMDRC_CMDGRP_CHECKパラメータを指定しない場合,またはCMDRC_CMDGRP_CHECKパラメータにNONEを指定した場合,関数内に指定したadshcmdrcコマンドの定義は関数呼び出し元のスクリプトのコマンドに有効になります。
-
adshcmdrcコマンドを別プロセス実行した場合,呼び出し元のスクリプトのコマンドには正常終了と見なす終了コードしきい値の定義は有効になりません。adshcmdrcコマンドは別プロセス実行しないようにしてください。
-
adshcmdrcコマンドを子孫ジョブ内に定義して実行した場合,子孫ジョブ呼び出し元のスクリプトのコマンドには正常終了と見なす終了コードしきい値の定義は有効になりません。子孫ジョブ内のコマンドにだけ,正常終了と見なす終了コードしきい値の定義が有効になります。
-
指定個数の上限は,adshexecコマンドの引数に指定したジョブ定義スクリプトファイルに定義されたスクリプト,そのスクリプトから呼び出される.(ドット)コマンド,および#-adsh_scriptコマンドによる外部スクリプトで指定された個数の合計です。外部スクリプトには,ネストで呼び出しているスクリプトも含みます。
使用例
UAPが正常終了したと見なす終了コードのしきい値を定義します。次の例では,ジョブステップSTEP1内でUAPが終了コード1以下で終了した場合,UAPは正常終了したと見なします。
#-adsh_step_start STEP1 adshcmdrc UAP 1 UAP data #-adsh_step_end