Hitachi

JP1 Version 11 JP1/Advanced Shell 


9.5.9 #-adsh_step_startコマンド,#-adsh_step_errorコマンド,#-adsh_step_endコマンド(ジョブステップを定義する)

形式

#-adsh_step_start
    [ジョブステップ名]
    [-successRC 終了コード定義[,終了コード定義 ...]]
    [-stepVar シェル変数名[,シェル変数名 ...]]
    [-run{normal|abnormal|always}]
    [-onError{cont|stop}]
 
... ジョブステップ内の処理...(ジョブステップ正常ブロック)
 
[#-adsh_step_error]
 
[... ジョブステップエラー時の処理...(ジョブステップエラーブロック)]
 
#-adsh_step_end

機能

ジョブ定義スクリプトの一部分を,ジョブステップとしてグループ化します。ジョブステップとは,グループ化した一まとまりのコマンド群のことです。ジョブステップの定義は,それぞれ4,095個まで指定できます。

ジョブステップの使用方法については,「5.8.3 ジョブステップを定義する」を参照してください。

ジョブステップ内で実行するコマンドの正常・エラーの判定については,「5.8.8 ジョブ,ジョブステップおよびコマンドの終了コード」を参照してください。

ジョブステップ内でエラーが発生した場合の動作については,「5.8.10 ジョブ実行中にエラーが発生した場合の動作」を参照してください。

引数

ジョブステップ名

環境変数名>((131バイト))

ジョブステップを識別する情報の1つであるジョブステップ名を定義します。ジョブステップ名はジョブ実行ログなどにメッセージとして表示されるほか,JP1/Advanced Shellが作成するファイル名の一部にも使用されます。

ジョブステップ名は,ジョブ内で重複できます。

-successRC 終了コード定義[,終了コード定義]...

ジョブステップ正常ブロック内で実行するコマンドが正常終了したと見なす,コマンドの終了コードの値を定義します。定義を「,」で区切って複数指定した場合,どれかの定義を満たした場合に正常終了と見なします。

ただし,ステップ正常ブロック内で実行するコマンドがシグナル終了した場合は,この指定に関係なく,コマンドはエラー終了となります。

ステップ正常ブロック内で実行するコマンドが,successRC属性で定義したコマンドの終了コードに該当しない終了コードを返している場合でも,#-adsh_rc_ignoreコマンドで指定したコマンド名に該当すれば,successRC属性の指定値に関係なく#-adsh_rc_ignoreコマンドの指定が優先されます。

終了コード定義

符号なし整数>((0255))

終了コード定義は8個まで指定できます。

終了コード

終了コードに合致する場合,正常終了します。

終了コード1:終了コード2

終了コード1以上,終了コード2以下の場合,正常終了します。

終了コード:

終了コード以上の場合,正常終了します。

:終了コード

終了コード以下の場合,正常終了します。

-stepVar シェル変数名[,シェル変数名 ...]

ジョブステップ内だけで有効なシェル変数を宣言します。シェル変数名は,コンマで区切って32個まで指定できます。

  • シェル変数名

    環境変数名>((1255バイト))

    ジョブステップ内だけで有効なシェル変数の名称を指定します。ただし,関数情報配列の名称,およびシェル変数ADSH_RC_EXTERNALは指定できません。

-runnormal|abnormal|always

先行ジョブステップや先行ジョブ定義スクリプト中のコマンドの状態によって,そのジョブステップを実行するかどうかを定義します。指定が省略されている場合,normalが指定されたものとします。

  • normal

    先行ジョブステップの中にエラー終了したジョブステップが存在しない場合,または先行ジョブ定義スクリプト中にエラー終了したコマンドが存在しない場合,実行します。

  • abnormal

    先行ジョブステップの中にエラー終了したジョブステップが存在する場合,または先行ジョブ定義スクリプト中にエラー終了したコマンドが存在する場合,実行します。

  • always

    先行ジョブステップや先行ジョブ定義スクリプト中のコマンドの結果に関係なく,常に実行します。

-onErrorcont|stop

ジョブステップ正常ブロック内のコマンドがエラー終了したとき,ジョブステップ正常ブロック内の後続ジョブ定義スクリプトを実行しないでジョブステップエラーブロックへジャンプするか,ジョブステップ正常ブロック内の後続ジョブ定義スクリプトを実行するかを定義します。指定が省略されている場合,stopが指定されたものとします。

  • cont

    ジョブステップ正常ブロック内の後続ジョブ定義スクリプトを実行します。

  • stop

    ジョブステップ正常ブロック内の後続ジョブ定義スクリプトを実行しないで,ジョブステップエラーブロック内のジョブ定義スクリプトを実行します。

終了コード

#-adsh_step_start#-adsh_step_errorの場合

終了コード

意味

0

正常終了

1

エラー終了

#-adsh_step_endの場合

終了コード

意味

ジョブステップ正常ブロック内で最後に終了したコマンドの終了コード

ジョブステップ正常終了

ジョブステップエラー終了

exitコマンドの引数

ジョブステップエラーブロック内で引数を指定したexitコマンドを実行して終了

1

#-adsh_step_end自身のエラー終了

#-adsh_step_endコマンドのジョブステップ正常終了およびジョブステップエラー終了の終了コードは,環境設定パラメーターで変更できません。

注意事項

使用例