ソフトウェア設定スクリプトとは、ソフトウェアにパラメーターを設定するためのスクリプトです。このスクリプトは、L-Serverに転送されて、L-Server上で実行されます。
ソフトウェア設定スクリプトは、複数のファイルで構成されています。また、Windowsで使用できるバッチファイルと、Linuxで使用できるシェルスクリプトが決められています。このファイルの説明を、以下に示します。
スタートアップスクリプト
スタートアップスクリプトは、必ず初めに呼び出されるスクリプトです。
このスクリプトはファイル名が決められていて、バッチファイルがstartup.cmdで、シェルスクリプトがstartup.shです。このスクリプトの処理では、必ず入力となる環境変数設定スクリプトを呼び出すことと、出力となる結果を復帰することが必要です。このほかの処理は、ソフトウェアごとに作成することができます。
環境変数設定スクリプト
スタートアップスクリプトへの入力は、環境変数を経由して渡します。この環境変数を設定するのが、環境変数設定スクリプトです。
このスクリプトはファイル名が決められていて、バッチファイルがsetenv.cmdで、シェルスクリプトがsetenv.shです。
環境変数設定スクリプトは、本製品がソフトウェア設定情報やパラメーター情報から生成します。
添付ファイル
スタートアップスクリプトでは、任意のファイルを使用できます。
添付ファイルにシェルスクリプトを含める場合は、実行権をシェルスクリプトのスタートアップスクリプトの中で設定してください。
スタートアップスクリプト (バッチファイル) の形式【Windows】
バッチファイルのスタートアップスクリプト (startup.cmd) は、以下の形式で作成します。
初めに環境変数設定スクリプト (setenv.cmd) を呼び出します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。標準出力と標準エラー出力は、エージェントのログに出力されます。
@echo off setlocal @rem 環境変数を設定する call .\setenv.cmd @rem ソフトウェアのセットアップ処理 <各ソフトウェアの処理> @rem 結果(正常)を復帰する if ERRORLEVEL 1 goto ERROR_END endlocal exit /B 0 @rem 結果(異常)を復帰する : ERROR_END echo ERROR0001 setup failed 1>&2 endlocal exit /B 1 |
スタートアップスクリプト(シェルスクリプト) の形式【Linux】
シェルスクリプトのスタートアップスクリプト (startup.sh) は、以下の形式で作成します。
初めに環境変数設定スクリプト (setenv.sh) を呼び出します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。標準出力と標準エラー出力は、エージェントのログに出力されます。
#!/bin/sh # 環境変数を設定する source ./setenv.sh # ソフトウェアのセットアップ処理 <各ソフトウェアの処理> # 結果を復帰する if [ $? = "0" ]; then # 正常を復帰する exit 0 else # 異常を復帰する echo "ERROR0001 setup failed" 1>&2 exit 1 fi |
環境変数設定スクリプト (バッチファイル) の形式【Windows】
バッチファイルの環境変数設定スクリプト (setenv.cmd) は、以下の形式で本製品が生成します。
環境変数の名前は、ソフトウェア設定情報(パラメーター情報)にあるパラメーターのキーが設定されます。ただし、パラメーターのキーは英数字と「.」の組合せですが、環境変数名は「.」を「_」に変換した名前になります。環境変数の値は、ソフトウェア設定情報やパラメーター情報にあるパラメーターの値が設定されます。
set パラメーターのキー=パラメーターの値 <パラメーターの数だけ環境変数を定義します> |
環境変数設定スクリプト(シェルスクリプト)の形式【Linux】
シェルスクリプトの環境変数設定スクリプト (setenv.sh) は、以下の形式で本製品が生成します。
環境変数の名前は、ソフトウェア設定情報(パラメーター情報)にあるパラメーターのキーが設定されます。ただし、パラメーターのキーは英数字と「.」の組合せですが、環境変数名は「.」を「_」に変換した名前になります。環境変数の値は、ソフトウェア設定情報やパラメーター情報にあるパラメーターの値が設定されます。
set パラメーターのキー=パラメーターの値 <パラメーターの数だけ環境変数を定義します> |
注意
ソフトウェア設定スクリプト
実行順序
ソフトウェア設定スクリプトが動作する順番は、イメージ情報に記述されたソフトウェア情報の順番になります。
スタートアップスクリプト
実行権限
Windows版では、Administratorで実行されます。
Linux版では、スーパーユーザーで実行されます。
カレントディレクトリ
スタートアップスクリプトのファイルが格納されているパスが、カレントディレクトリになります。
実行権【Linux】
スタートアップスクリプトのシェルスクリプトは、実行時に自動的に実行権が設定されます。
改行
Windows版では、CR+LFです。
Linux版では、LFです。
バイトオーダーマーク(BOM)【Linux】
シェルスクリプトでは、UTF-8のバイトオーダーマーク (BOM) を含めないでください。
環境変数設定スクリプト
環境変数の定義
パラメーターの値を設定しない場合は、環境変数を定義しません。このため、スタートアップスクリプトでは、パラメーターの値を設定するかしないかを、環境変数の定義があるかなしかで判断します。
環境変数が定義されているか判定する方法を、以下に示します。
バッチファイルの場合:【Windows】
if defined <環境変数> (<定義されている処理>) else <定義されていない処理> 例: set PARAM=%hostname% if defined parameter_Key1 (set PARAM=-v %parameter_Key1% %PARAM%) |
シェルスクリプトの場合:【Linux】
${<環境変数>+${<環境変数>}} 例: PARAM=${hostname} PARAM="${parameter_Key1+"-v ${parameter_Key1}"} ${PARAM}" |
値の空文字列【Windows】
Windowsの環境変数は空文字列を設定できません。このため、バッチファイルの空文字列は、「__EMPTY__」(「
__」は「_」と「_」が2つ続いています) を設定します。このため、パラメーターの値として、「__EMPTY__」を使用はできないことに注意してください。
添付ファイル
実行権【Linux】
添付ファイルにシェルスクリプトを含める場合は、実行権をシェルスクリプトのスタートアップスクリプトの中で設定してください。