付録A.1 環境変数を定義するときの注意事項
ジョブ実行時に使用する環境変数を定義する場合の注意事項を示します。
なお,環境変数の一覧については,「1.4 環境変数一覧」を参照してください。
-
環境変数は「環境変数名=値」の形式で指定してください。複数指定する場合は,「環境変数名=値」ごとに改行文字で区切ってください。
- (例)
-
環境変数名1=ABCD<改行>
環境変数名2=EFGH<改行>
<改行>は改行コードで区切り,「;」や「:」などの文字は使用しないでください。
-
「環境変数名=値」の形式以外の文字列は指定しないでください。ジョブを実行するホスト側のOSによってはジョブが異常終了する場合があります。
-
「AJS」で始まる環境変数(例:AJSxxxx(xxxxは任意の文字列))は,システムで予約しているため,大文字・小文字に関係なく,使用しないでください。
-
「JP1」で始まる環境変数(例:JP1xxxx(xxxxは任意の文字列))は,システムで予約しているため,大文字・小文字に関係なく,使用しないでください。
-
JP1/AJS3から実行されるジョブ実行時に設定される環境変数(「1.4 環境変数一覧」の表1-7に示す環境変数)は,ジョブ定義の「環境変数」や「環境変数ファイル名」に指定するファイルの中には設定できません。
-
環境変数には,JP1/AJS3で設定されるもの(「1.4 環境変数一覧」の表1-7に示す環境変数,ジョブ定義時に指定した環境変数,ジョブ定義時に環境変数ファイルとして指定したファイル内の環境変数)のほかに,ジョブ定義時に指定したコマンド文やスクリプトファイル,ローカルログインスクリプト,システムログインスクリプトにも設定できます。これらの中で同じ環境変数があった場合,次に示す優先順位に従って有効になります(優先順位がいちばん高いのは1です)。
- Windowsの場合
-
1. 環境変数※1に指定した環境変数
2. 環境変数ファイル※2に指定した環境変数
3. システム環境変数
- UNIXの場合
-
1. ジョブ定義時に指定したコマンドやスクリプトファイルでの定義
2. ローカルログインスクリプトでの定義
3. システムログインスクリプトでの定義
4. 環境変数※1に指定した環境変数
5. 環境変数ファイル※2に指定した環境変数
6. キューレスエージェントサービス起動時の環境変数※3
- 注※1
-
JP1/AJS3 - Viewのダイアログボックスで環境変数に指定した変数,またはjpqjobsubコマンドの-envオプションに指定した変数
- 注※2
-
JP1/AJS3 - Viewのダイアログボックスで環境変数ファイルに指定した変数,またはjpqjobsubコマンドの-evオプションに指定した変数ファイル
- 注※3
-
実行先サービスが[キューレス]のジョブの場合だけ該当します。
-
JP1/AJS3 - View のダイアログボックスで環境変数を定義する場合,またはjpqjobsubコマンドの-envオプションで,次の例のように値に環境変数を参照する指定はできません。
環境変数'xyz'には'%abc%'がそのまま文字列として設定されます。
- (例)
-
abc=1
xyz=%abc%
環境変数の値を参照する指定をする場合は,実行するジョブのバッチファイルまたはスクリプトファイルで指定してください。
- 注意事項
-
Windowsの場合,通常JP1/AJS3サービス起動時にはシステム環境変数の設定を有効にし,ユーザー環境変数は読み込まれません。ジョブ実行時には,このシステム環境変数の設定を使用します。ただし,クラスタシステムをセットアップした論理ホストでは,システム起動時にフェールオーバークラスタ※がユーザー環境変数を読み込みます。フェールオーバークラスタから起動した論理ホストのJP1/AJS3サービスでは,ユーザー環境変数が有効になり,ジョブ実行時にもユーザー環境変数が使用されます。
なお,JP1/AJS3サービス起動時に読み込まれる環境変数には,システム環境変数のほかにOSが起動するときに設定する環境変数も含まれます。
- 注※
-
フェールオーバークラスタ以外のクラスタソフトについては仕様を確認してください。