3.2.4 ジョブで実行する内容をコマンドラインに指定する
adshexecコマンドで-rオプションのコマンドラインに,シェル標準コマンド,UNIX互換コマンドなどのジョブ定義スクリプトファイルに記述できるコマンドを指定することで,ジョブ定義スクリプトファイルを作成することなく実行できます。コマンドラインにシェル標準コマンドのpwdコマンドを指定するには,次のようにadshexecコマンドを実行します。
adshexec -r pwd
コマンドラインにはコマンドセパレータによる複数コマンド記述など,ジョブ定義スクリプトファイルに記述する内容を指定できます。コマンドラインに複数のコマンドを指定するには,次のようにadshexecコマンドを実行します。
adshexec -r "export DATA=file01 ; pgm001"
コマンドラインにスペースを指定する場合,クォーテーション('および")で囲む必要があります。また,adshexecコマンドを実行するシェルによっては,コマンドラインに指定した$,*,;(セミコロン)などのメタキャラクタが展開されるため,クォーテーション('および")で囲むか,エスケープ文字(\)を使用する必要があります。メタキャラクタを指定するには,次のようにadshexecコマンドを実行します。
- 【UNIXの場合】
-
・エスケープ文字を指定した場合
- 入力内容
adshexec -m MINIMUM -r "A=(1 2 3); echo \${A[@]}"
- 出力結果
1 2 3
・エスケープ文字を指定しなかった場合
- 入力内容
adshexec -m MINIMUM -r "A=(1 2 3); echo ${A[@]}"
- 出力結果
-
この場合,何も出力されません。
・位置パラメーター$0の出力(エスケープ文字を指定した場合)
- 入力内容
adshexec -m SIMPLE -r "echo \$0"
- 出力結果
adshexec
・位置パラメーター$0の出力(エスケープ文字を指定しなかった場合)
- 入力内容
adshexec -m SIMPLE -r "echo $0"
- 出力結果
-bash
ログインシェルで位置パラメーター$0を変換した内容をadshexecが受け取ります。ログインシェルがbashの場合は「-bash」が出力されます。
- 【Windowsの場合】
-
・エスケープ文字を指定した場合
- 入力内容
adshexec -m MINIMUM -r "A=(1 2 3); echo \${A[@]}"
- 出力結果
${A[@]}
・エスケープ文字を指定しなかった場合
- 入力内容
adshexec -m MINIMUM -r "A=(1 2 3); echo ${A[@]}"
- 出力結果
1 2 3
・位置パラメーター$0の出力(エスケープ文字を指定した場合)
- 入力内容
adshexec -m SIMPLE -r "echo \$0"
- 出力結果
$0
・位置パラメーター$0の出力(エスケープ文字を指定しなかった場合)
- 入力内容
adshexec -m SIMPLE -r "echo $0"
- 出力結果
adshexec
-rオプションを指定して実行する場合は次の点に注意してください。
-
コマンドラインの実行結果をほかのプログラムで利用したい場合や,コマンドラインの実行結果をコンソールやファイルに出力したい場合は,「-m SIMPLE」または「-m MINIMUM」を同時に指定してください。
-
-tオプションまたはBATCH_CVRパラメーターによるカバレージ情報の採取はできません。
-
ジョブ定義スクリプトファイルのパス名が出力される次の部分には,"-r CMDLINE"が出力されます。
-
スクリプトイメージファイルに出力されるジョブ定義スクリプトファイルのパス名
-
ジョブ定義スクリプトの稼働実績情報に出力されるジョブ定義スクリプトファイルのパス名
-
JP1/Advanced Shell が出力するメッセージテキスト中のジョブ定義スクリプトファイルのパス名
-
-
位置パラメーター$0には実行プログラム名"adshexec"を格納します。
-
-rオプションを指定して実行した場合も,スプールジョブディレクトリは作成されます。なお,スプールジョブディレクトリが作成されるのは,ルートジョブとして-rオプションを指定して実行する場合だけです。ただし,頻繁に-rオプションを指定して実行すると,スプール内のスプールジョブが増加するので注意してください。