BPXBATCH SH [program_name] | PGM program_name
ここで program_name は、SH に渡されるオプション・パラメーター、 または、PGM が使用されるときの必須パラメーターです。
BPXBATCH を使用すると、TSO/E セッションから、z/OS® UNIX ファイルに常駐するシェル・スクリプトまたは z/OS XL C/C++ 実行可能ファイルを簡単に実行できるようになります。ファイルにあるシェル・スクリプトおよび実行可能ファイルを、ジョブ制御言語 (JCL) を用いて実行するときに BPXBATCH を使用する方法については、BPXBATCH を参照してください。
BPXBATCH では、stdin を、入力を渡すための z/OS UNIX ファイルとして 割り当てることができます。stdout、stderr、または stdenv を MVS™ データ・セットまたは z/OS UNIX テキスト・ファイルとして割り当てることができます。 環境変数を格納する stdenv ファイル、またはジョブ出力を保存するための stderr ファイルと stdout ファイルは、SYSOUT、PDSE、PDS、または順次データ・セットとして割り当てることができます。このファイ ルを割り当てないと、stdin、stdout、stderr および stdenv はデフォルトで /dev/null になります。stdenv、stdout および stderr のための標準ファイルは、データ定義 PATH キーワード・オプションまたは MVS データ・セットの 標準データ定義オプションを使用して割り当ててください。
BPXBATCH SH
PXBATCH SH [program_name]
PXBATCH PGM program_name
BPXBATCH を使用するだけでなく、環境設定に関与せずに (すなわち、ユーザ ーのプロファイルで設定されている場合に、変更することができる特定の 環境変数を設定しなくても済む) ローカル spawn を実行したいユーザーは、BPXBATSL を使用することができます。BPXBATCH への代替エントリー・ポイントが提供さ れ、BPXBATCH と同様にプログラムは fork/EXEC ではなくローカル spawn を 使用して強制的に実行されます。これにより、プログラムは最終的には さらに速く実行されることになります。
//jobname JOB ...
//stepname EXEC PGM=BPXBATSL,PARM='PGM program_name'
/* The following 2 DDs are still available in the program which gets
/* control from BPXBATSL.
//DD1 DD DSN=MVSDSN.FOR.APPL1,DISP=SHR
//DD2 DD DSN=MVSDSN.FOR.APPL2,DISP=SHR
/* The following DDs are processed by BPXBATSL to create file descriptors
/* for stdin, stdout, stderr
//STDIN DD PATH='/stdin-file-pathname',PATHOPTS=(ORDONLY)
//STDOUT DD PATH='/stdout-file-pathname',PATHOPTS=(OWRONLY,OCREAT,OTRUNC
// PATHMODE=SIRWXU
//STDERR DD PATH='/stderr-file-pathname',PATHOPTS=(OWRONLY,OCREAT,OTRUNC
// PATHMODE=SIRWXU
ユーザーが自分のプログラムのローカル spawn を実行したいけれども、後続の子プロセスに対して fork/EXEC が実行される必要があるような場合に も、BPXBATSL は役立ちます。以前は、BPXBATCH ではこれを行うことができませんでした。それは、BPXBATCH と要求されたプログラムが同じ環境変数を共用したためです。
BPXBATSL は BPXBATCH の別名です。
BPXBATCH PARM='SH command string'
SH の指定に program_name の情報がない場合、BPXBATCH は stdin から読み込まれたものは何でも実行しようとします。
SH はデフォルトです。
BPXBATCH PARM='PGM arg1 ... argn'
規則: PGM を指定する場合は、program_name も指定する必要があります。
stdenv から読み込まれたすべての環境変数は、stdenv が割り当て済みであれば、プログラムが実行されるときに設定されます。HOME および LOGNAME 環境変数が stdenv ファイル内に指定されていない場合、または stdenv が 割り当てられていない場合、可能であれば、HOME および LOGNAME はプログラムが実行されたときに設定されます。
制約事項: PGM を使用する場合、program_name パラメーターにシェル固有の機能を含むことはできません。理由は、その機能を解決できないからです。シェル固有の機能を指定する必要がある場合、SH を使用してエラー発生の可能性の防止と 予期できない結果の防止を行う必要があります。
PGM および program_name が指定されていて、指定のプログラム名がスラッシュ文 字 (/) で始まっていない場合、BPXBATCH は、ユーザーの初期作業ディレクトリー 情報をプログラム・パス名の前に付けます。
program_name で指定されたプログラムに渡される引数は、PGM にパラメーターとして渡されるプログラムによって決められます。 プログラムに渡される引数について詳しくは、プログラムの資料を参照してください。
ALLOCATE FILE(STDIN) PATH('/stdin_file_pathname')
PATHOPTS(ORDONLY)
BPXBATCH SH
BPXBATCH PGM /usr/bin/payroll
BPXBATCH SH /u/usr/joe/shellscriptA > /tmp/a.out