CLPPlus のシェルおよび環境変数
CLPPlus コマンドおよび照会の中で、シェル変数と環境変数を使用できます。
説明
このサポートにより、シェルまたは環境変数値を、CLPPlus コマンドまたは照会中で使用できるようになりました。 この使用法は、シェルまたはコマンド・ウィンドウでこれらの変数がアクセスされる方法と同じです。
シェルと環境変数置換は、CLPPlus コマンド SET ENVVARSUBST を使用して使用可能または使用不可にできます。 このコマンドについて詳しくは、『関連参照』を参照してください。
接頭部 "$" が付いたいかなる変数も、シェルまたは環境変数として扱われます。 この文字は、異なるオペレーティング・システムで使用されるスクリプトに、オペレーティング・システムからの独立性をもたらしています。 Microsoft プラットフォームの環境変数は、変数名の前後を "%" で囲む (例えば、%VAR%) ことによってもアクセスできます。
CLPPlus は、シェルまたは環境変数に文字 a-z、A-Z、0-9、および "_" が含まれている場合、それを理解し解決することができます。 他の文字がある場合、そこで変数名が終わったものとして扱われます。 次の例は、この命名規則を示しています。
$clpplus&version <==== "clpplus" followed by "&"
$clpplus[version] <==== "clpplus" followed by "["
$clpplus version <==== "clpplus" followed by " "(space)
$clpplus#version <==== "clpplus" followed by "#"
$clpplus-version <==== "clpplus" followed by "-"
$clpplus(version) <==== "clpplus" followed by "(" CLPPlus が変数を使用しようとしていて、かつ変数が定義されている場合、その変数の値が使用されます。 CLPPlus が変数を使用しようとしておりかつ変数が定義されていない場合、空ストリング値で置換されて情報メッセージがログに記録されます。 情報メッセージは、CLPPlus が冗長モードで作動している際に表示されます。
CLPPlus 中で、シェルおよび環境変数に、次の方式でアクセスできます。
- CLPPlus の開始中に、シェルまたは環境変数を引数としてスクリプトに渡します。 これらの渡された変数は、&" 文字とその位置 (番号) でアクセスされる、位置パラメーターに変換されます。
- シェルまたは環境変数は、CLPPlus 中で "$" 文字に変数名を続けたもので直接アクセスできます。 この方式は、スクリプトを実行するオペレーティング・システムにかかわりなく使用できます。
例
- 次の例は、CLPPlus の開始中にシェルまたは環境変数をどのように使用できるのかを示しています。UNIX および Linux プラットフォームの場合:
Export TABLE_NAME=employee Export SCRIPT_PATH=/home/user clpplus -nw @$SCRIPT_PATH/script.sql $TABLE_NAMEWindows プラットフォームの場合:
ここで、script.sql として、次のものが含まれるものとします。Set TABLE_NAME=employee Set SCRIPT_PATH=c:¥testfiles clpplus -nw @%SCRIPT_PATH%¥script.sql %TABLE_NAME%
そして、&1 は、変数 TABLE_NAME の値に解決されます。Select * from &1 - 次の例は、CLPPlus 中でシェルまたは環境変数をどのように直接使用できるのかを示しています。UNIX および Linux プラットフォームの場合:
select * from $TABLE_NAME; insert into test values ($NAME, $ID, $DESG);Windows プラットフォームの場合:select * from %TABLE_NAME%; insert into test values (%NAME%, %ID%, %DESG%);