「batch」キーワードを指定すると、CLI のバッチ インターフェースが呼び出されます。 この場合、CLI では、「batch」キーワードとファイル名(filename)が 1 つ以上の空白で区切られていることが想定されています。 このファイル名は、絶対ファイル名または相対ファイル名のいずれかにすることができます。 このファイルは、この呼び出しによって実行される CLI コマンドのリストが含まれているファイルです。
CLI では、バッチ ファイルは以下のように処理されます。 まず、指定されたユーザについて、指定されたマネージャ(デフォルト マネージャなど)とのセッションを確立します (login を参照)。 次に、バッチ ファイルを行ごとに読み取ります。 バッチ ファイルの 1 行に、複数のコマンドが含まれていることがあります。コマンドは 1 行以上にわたっていることがあります。 読みやすくするために、コードは 1 行に 1 つずつ記述することをお勧めします。 CLI は、最初に何があってもファイルの最初から次の CLI コマンドが特定されるか、またはファイルの終わりまでを読み取ります。 読み取られたこの情報(最後にコマンドが特定されていない)は、そのパラメータ設定と共に CLI コマンドとして解釈され、実行されます。
実行が成功した後、次のコマンドまたはファイルの終わりのスキャンが継続され、スキャンされたコマンドも実行されます。 スキャンは、エラーが発生するか、またはファイルの終わりに達するまで続きます。 以下の例は、バッチ ファイルの内容を示しています。
regsw -item=prod_1 -version=1.0 -path=/products/prod_1 ~procedures=/products/proc_1 regsw -item=prod_2 -version=1.1 -path=/products/prod_2 ~procedures=/products/proc_2
このバッチ ファイルでは、2 つの製品が SD に登録されます。 CLI は、まず 2 つ目の regsw を見つけるまでファイルをスキャンし、prod_1 について、パラメータ item、version、path、および procedures を使用して regsw コマンドを処理します。 このコマンドが成功した場合、残りのファイルの終わりまでスキャンが行われ、2 つ目の regsw も実行されます。 最初の regsw が失敗した場合、2 つ目の regsw は実行されずに CLI が終了します。
バッチ ファイルには、説明用にコメントを追加することができます。 コメントの先頭にはハッシュ記号(#)を付けます。 ハッシュ記号が先頭にある行の最後までがコメントとして解釈されて無視されます。 「#」には特殊な意味があるため、パラメータ設定は使用しないようにしてください。 ただし、パラメータにハッシュ記号が含まれる場合があります。 この場合、パラメータ値を引用符で囲み、CLI によってハッシュ記号がコメントの開始として解釈されないようにします。 上記のファイルの内容は、以下のように記述することができます。
# 製品 1 の登録 "regsw -item=prod_1 -version=1.0 -path=/products/prod_1 ~procedures=/products/proc_1 -comment=""product_1 for department #1""" # 製品 2 の登録 "regsw -item=prod_2 -version=1.1 -path=/products/prod_2 ~procedures=/products/proc_2 -comment=""product_2 for department #100"""
「#」が含まれるパラメータ値だけではなく、空白が含まれるパラメータ値も引用符で囲む必要があります。
上記の例のパラメータには、先頭にハイフン「-」が付いています。 必須ではありませんが、パラメータはこのように記述することをお勧めします。 ただし、コマンドと取り違えられる可能性のあるあいまいなパラメータの場合は、ハイフンを設定する必要があります。 たとえば、「stagingServer」は CLI コマンドとしても存在するパラメータです。
前述のように、CLI は、通常、コマンドの実行に失敗するとバッチ処理を終了します。 ただし、バッチ ファイルのコマンドは相互に依存していないことがあります。 上記の例のように、製品 prod_1 および prod_2 は依存していません。 prod_1 の登録が失敗しても、このことは prod_2 の登録には影響を与えないため、製品 prod_2 は登録することができます。 以下の環境変数を設定するとします。
set SDCMD_CONTINUE=ON (Windows)
export SDCMD_CONTINUE=ON (Linux、bash)
この場合、CLI は、失敗を無視するように強制され、ファイル内の次のコマンドを引き続き処理します。 これらの変数が設定されている場合、CLI は、prod_1 の登録が失敗しても prod_2 を登録しようとします。
CLI では、処理されたコマンドおよびコマンド出力を標準出力(stdout)として記録します。 この出力は、別のスクリプトで詳細に分析するためにファイルにリダイレクトすることができます。 以下に例を示します。
002 regsw “item=prod_1” “version=1.0” “path=/products/prod_1” “procedures=/products/proc_1” “comment=product_1 for department #1” コマンドが処理されます。 SDCMD<A000000>: OK 004 regsw “item=prod_2” “version=1.1” “path=/products/prod_2” “procedures=/products/proc_2” “comment=product_2 for department #100” コマンドが処理されます。 SDCMD<A000000>: OK
CLI は、読み取られたコマンドおよびパラメータ設定を、CLI が解釈したとおりに記録します。 コマンドの前の数字は、バッチ ファイル内のコマンドが検出された行を示しています。
CLI の有効なコマンドはすべて、batch インターフェースで利用することができます。
|
Copyright © 2013 CA.
All rights reserved.
|
|