Hitachi

Advanced Shell 


8.3.7 adshexecコマンド(バッチジョブを実行する)

形式

通常実行する場合
adshexec[-v][-c][-m{EXTENDED|SIMPLE|MINIMUM}]
        [-t[-f][-o ascファイルのパス名]][-h 論理ホスト名]
        [-s{SPOOL|PARENT}][-x]
        {-r コマンドライン|ジョブ定義スクリプトファイルのパス名}
        [実行時パラメーター
デバッガモードで起動する場合【UNIX限定】
adshexec -d[-v][-c][-m{EXTENDED|SIMPLE|MINIMUM}]
        [-t[-f][-o ascファイルのパス名]][-h 論理ホスト名]
        [-x] ジョブ定義スクリプトファイルのパス名

機能

ジョブコントローラを起動して,引数に指定したジョブ定義スクリプトファイルのバッチジョブを実行します。ジョブ定義スクリプトファイルに記述するコマンドを-rオプションに直接指定して実行することもできます。

このコマンドの引数は位置パラメーターよりも前に指定してください。

引数

-d【UNIX限定】

ジョブコントローラをデバッガモードで起動します。UNIX環境で使用できます。

デバッガモードではメモリ上にカバレージ情報を蓄積します。runコマンドを実行するごとに,継続蓄積になります。メモリ上に蓄積したカバレージ情報は,info coverageコマンドで表示できます。

-tオプションの指定がない場合,quitコマンドでデバッガを終了すると,メモリ上に蓄積したカバレージ情報を破棄します。

このオプションを指定した場合,ジョブ定義スクリプト稼働実績情報を採取しません。

-v

バージョン情報を表示します。バッチジョブは実行しません。

-c

ジョブ定義スクリプトファイルの文法チェックをします。実施するのは文法チェックだけで,バッチジョブは実行しません。

-mEXTENDED|SIMPLE|MINIMUM

起動するジョブの標準出力および標準出力エラーの出力方式を指定します。出力モードについては,「3.4.4 ジョブ実行ログへの情報メッセージと警告メッセージの出力を抑止する」を参照してください。

  • EXTENDED

    拡張出力モードで動作します。

  • SIMPLE

    簡潔出力モードで動作します。

  • MINIMUM

    最小出力モードで動作します。

このオプションを省略した場合,OUTPUT_MODE_ROOTパラメーターとOUTPUT_MODE_CHILDパラメーターの指定に従います。

この指定はadshexecコマンドで起動するジョブだけに有効で,そのジョブからさらに起動されるジョブには継承されません。別途起動するジョブに対しては,その際実行されるadshexecコマンドに-mオプションを再度指定する必要があります。

ルートジョブが簡潔出力モードまたは最小出力モードで動作する場合,-sオプションを指定するか,OUTPUT_STDOUT環境設定パラメーターでSPOOLを指定しても,標準出力はスプールのファイルにリダイレクトしません。

-rオプションを使用する場合に,ジョブ実行ログが出力結果に混在しないようにするには,-m SIMPLEまたは-m MINIMUMを同時に指定してください。

-t

カバレージ情報を蓄積してバッチジョブを実行します。蓄積したカバレージ情報は,コマンド終了時にascファイルに出力します。

UNIXでデバッガモードで起動する場合,-tオプションを指定しないときは,メモリ上だけでカバレージ情報を採取します。カバレージ情報は,デバッガのinfo coverageコマンドで表示できます。quitコマンドでデバッガを終了すると,採取したカバレージ情報を破棄します。

-f

すでに採取しているカバレージ情報がある場合,実行するジョブ定義スクリプトファイルとバックアップ情報に差分があったときに,ascファイルを上書きするオプションを指定します。-fオプションを指定するには,-tオプションの指定が必要です。

-fオプションを指定した場合

バックアップ情報を破棄して,新規にカバレージ情報を採取します。

採取しているカバレージ情報がない場合,新規に採取したカバレージ情報をascファイルに出力します。

-fオプションを指定しない場合

ジョブ定義スクリプトファイルを実行しないで,コマンドエラーとなります。ascファイルは更新しません。

-o ascファイルのパス名

Windowsの場合 ~<パス名>((1229バイト))

UNIXの場合 ~<パス名>((11,005バイト))

カバレージ情報の蓄積時に,ascファイルのパス名を任意に変更できます。-oオプションを指定するには,-tオプションの指定が必要です。

このオプションを省略すると,adshexecコマンドを実行したときのカレントディレクトリのascファイルを指定したと解釈されます。ascファイルのファイル名を次に示します。

拡張子を除いたジョブ定義スクリプト名_(アンダースコア)+ユーザー名+「.asc

例えば,次の条件でadshexecコマンドを実行したとします。

  • adshexecコマンドを実行したときのカレントディレクトリ:/home/user1/test

  • ユーザー名:user1

  • ジョブ定義スクリプト名:script1.ash

このとき,-oオプションを指定しない場合のascファイル名は次のようになります。

/home/user1/test/script1_user1.asc

-h 論理ホスト名 ~<論理ホスト名>((1255バイト))

論理ホストで実行する場合の論理ホスト名を指定します。Windowsの場合,196バイトを超える論理ホスト名は指定できません。また,論理ホスト名の長さは63バイト以下を推奨します。63バイトを超える名称を指定すると,動作しないことがあります。

論理ホスト名の部分に空文字列を指定すると,JP1_HOSTNAME環境変数の設定値が使用されます。JP1_HOSTNAME環境変数が設定されていない場合は,KNAX0220-Eメッセージを出力して終了します。JP1_HOSTNAME環境変数については,マニュアル「JP1/Base 運用ガイド」を参照してください。

物理ホストで実行する場合は,このオプションを指定しないでください。

-sSPOOL|PARENT

ルートジョブの標準出力の出力先を指定します。子孫ジョブは,このオプションにPARENTが指定されたものとして動作します。

このオプションを省略した場合,ルートジョブはパラメーターOUTPUT_STDOUTの指定に従って動作します。ルートジョブが簡潔出力モードまたは最小出力モードで動作する場合は,このオプションの指定に関係なく,標準出力はスプールのファイルにリダイレクトしません。

  • SPOOL

    ルートジョブの標準出力をスプール内のファイルに出力します。

  • PARENT

    ルートジョブの標準出力を,プロセス起動時に親プロセスから継承した出力先に出力します。親プロセスで出力先をリダイレクトしていない場合は,親プロセスと同じ出力先に出力します。

-x

シェルオプションxtraceを有効にします。

なお,ジョブ定義スクリプト中で「set +x」や「set +o xtrace」を実行することで,シェルオプションxtraceを無効にできます。

-r コマンドライン

ジョブで実行する内容をコマンドラインに指定します。コマンドラインにはシェル標準コマンドやUNIX互換コマンドなど,ジョブ定義スクリプトファイルに記述できるコマンドを指定できます。コマンドラインは,ジョブ定義スクリプトの1行の長さが上限(8,191バイト)を超えない長さで指定してください。

-vオプションと同時に指定した場合,-vオプションが有効となります。

【UNIXの場合】

-c-d,または-tオプションと同時には指定できません。同時に指定した場合はエラーとなります。

【WINDOWSの場合】

-cおよび-tオプションと同時には指定できません。同時に指定するとエラーとなります。

詳細については,「3.2.4 ジョブで実行する内容をコマンドラインに指定する」を参照してください。

ジョブ定義スクリプトファイルのパス名

Windowsの場合 ~<パス名>((1247バイト))

UNIXの場合 ~<パス名>((11,023バイト))

ジョブ定義スクリプトファイルのパス名を指定します。

実行時パラメーター ~<任意文字列>((1~1,022バイト))

ジョブ定義スクリプトの位置パラメーターに格納する値を指定します。スペースを実行時パラメーターとして指定する場合は,その文字列を"(ダブルクォーテーション)で囲んでください。

終了コード

契機

終了コード

-cオプションがない場合

-cオプションがある場合

通常実行でexitコマンドまたは関数外のreturnコマンドを実行した

コマンドに指定した終了コード

通常実行でexecコマンドの引数に外部コマンドを指定して実行した

引数に指定した外部コマンドの終了コード

通常実行でジョブ定義スクリプトファイルの末尾までジョブ定義スクリプトを実行した

最後に実行した,シェル標準コマンドまたはスクリプト拡張コマンドの終了コード

デバッガモードでジョブコントローラにエラーがない

0

ジョブ定義スクリプトファイル,および初期設定スクリプトファイルに文法エラーがない

ジョブ定義スクリプトを実行し,次の終了コードになる

  • コマンドに指定した終了コード

  • 最後に実行した,シェル標準コマンドまたはスクリプト拡張コマンドの終了コード

0

ジョブ定義スクリプトファイルに文法エラーがある

1,または環境変数ADSH_JOBRC_FATALに設定した値

1,または環境変数ADSH_JOBRC_FATALに設定した値

初期設定スクリプトファイルに文法エラーがある

1,または環境変数ADSH_JOBRC_FATALに設定した値

環境ファイル読み込みエラーなど,ジョブ定義スクリプト実行中のエラーを除くジョブコントローラのエラーが発生した

1,または環境変数ADSH_JOBRC_FATALに設定した値

1,または環境変数ADSH_JOBRC_FATALに設定した値

初期設定スクリプトファイルが存在しない。またはジョブコントローラが初期設定スクリプトファイルを実行するために必要な権限が初期設定スクリプトファイルに割り当てられていない。

1,または環境変数ADSH_JOBRC_FATALに設定した値

JP1/AJSの強制終了操作を実行した。【UNIX限定】

143

143

ジョブコントローラプロセスがシグナルを受信して終了した【UNIX限定】

128シグナル番号

128シグナル番号

ジョブコントローラプロセスが,JP1/AJSやWindowsのタスクマネージャーなど外部から強制終了された【Windows限定】

ジョブコントローラを強制終了したプログラムが指定した終了コード

ジョブコントローラを強制終了したプログラムが指定した終了コード

OSに起因する要因でジョブコントローラの起動が失敗した【Windows限定】

13

13

環境変数ADSH_JOBRC_FATALの解析エラーが発生した

255

255

環境変数ADSH_LINK_SUPPORTに不当な値が指定された【Windows限定】

255

255

(凡例)

−:ジョブ定義スクリプトを実行しないため該当しません。

注※

UNIXジョブの「コマンド文」でジョブを定義している場合,JP1/AJSで参照できるジョブの終了コードは-1になります。

注意事項

使用例