Hitachi

JP1 Version 11 JP1/Advanced Shell 


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オプションを指定して実行する場合は次の点に注意してください。