<execNative> 手順は、対象ホストでネイティブコマンドを実行するために使用されます。 コマンドが予期しなかった結果を生成する場合、手順は失敗し、実行が停止します。
名前 |
型 |
必須 |
構成可能 |
説明 |
userToRunAs |
文字列 |
不可 |
可能 |
当該コマンドをどのユーザーとして実行するかを指定する。 指定するとコマンドはこのユーザーとして実行され、指定しないと構成ファイル内の defaultUserToRunAs として実行される。 値として、文字列によるユーザー名または数値による UID を指定できる。 これは、空でない文字列でなければならない |
dir |
文字列 |
不可 |
可能 |
コマンドの作業ディレクトリの絶対パス。 指定しないと、デフォルトでエージェント固有の構成可能ディレクトリが使用される。 空の文字列であってはならない |
timeout |
正の Integer |
いいえ |
不可 |
コマンドの完了を待機する時間を秒数で指定する。この時間を経過するとタイムアウトとなる。 指定しないと、プランの exec 固有タイムアウト期間が適用される。 この値は 0 よりも大きなものでなければならない |
execNative は、次のものを指定するために入れ子になった要素を持つことができます。
環境変数
バックグラウンド実行
コマンドの標準出力ファイル
コマンドエラーの出力ファイル
コマンド入力
実行するコマンド
手順の成功基準
名前 |
数 |
説明 |
env |
0 またはそれ以上 |
子プロセスの環境変数 |
background |
0 または 1 |
コマンドをバックグラウンドプロセスとして実行すべきであることを指定する |
outputFile |
0 または 1 1 |
コマンドの標準出力を格納するファイルの名前 |
errorFile |
0 または 1 1 |
コマンドの標準エラー出力を格納するファイルの名前 |
inputText |
指定できるのはこれらの要素の 1 つだけ 2 |
コマンドの標準入力に送り込むテキスト。 inputFile が指定されているとこの要素は指定できない |
inputFile |
ファイルの名前を指定する。このファイルからコマンドの標準入力が読み取られる |
|
exec |
これらの要素の 1 つを指定する必要がある 3 |
実行する実行可能ファイルを指定する |
shell |
実行するシェルコマンドを指定する |
|
successCriteria |
0 または 1 |
この手順が正常に実行されたかどうかを評価する基準 |
1 <background> 要素を指定する場合は、<outputFile> と <errorFile> の両方を指定する必要があります。
2 inputText および inputFile 要素は省略可能です。 これらの指定は一度に 1 つずつ行う必要があります。
3 exec または shell 要素の 1 つを指定する必要があります。 execNative 要素内に exec 要素と shell 要素の両方を入れることは認められません。
<inputText> および <inputFile> 要素は省略可能です。 これらの指定は一度に 1 つずつ行う必要があります。
3 exec または shell 要素の 1 つを指定する必要があります。 execNative 要素内に exec 要素と shell 要素の両方を入れることは認められません。
<execNative> 要素は、コマンドの環境変数を指定する目的で、必要に応じて <env> 要素を含むことができます。 <env> を使用すると、コマンド環境の新しい変数を提供することも、既存の変数を無効にすることもできます。
コマンドの環境変数セットは、遠隔エージェントの環境変数セットと、<env> タグを使用して提供される変数を合わせたものです。
名前 |
型 |
必須 |
構成可能 |
説明 |
name |
文字列 |
はい |
可能 |
環境変数の名前。 空でない文字列を指定する必要がある |
value |
文字列 |
はい |
可能 |
環境変数の値。 この値には、RA の環境変数の値を参照するように、${var_name} 文字列を含めることができる。 var_name が無効にされる変数を env タグを使用して参照する場合、その置換された値は RA の環境内で定義されたものであり、無効にされたも値ではない。 ${ という文字をそのまま表示させる必要がある場合は、${{ を使用できる。 ${{ のインスタンスはすべて ${ に置換される |
<background> 要素は <execNative> 要素の子です。この要素が指定される場合、コマンドをバックグラウンドプロセスとして実行する必要があることを示します。 この要素には属性も子要素もありません。
<background> 要素が指定された <execNative> の場合、以下の制限が適用されます。
<successCriteria> は指定の必要はありません。 手順は、バックグラウンドプロセスを開始する上で何も問題が存在しなかった場合には成功します。 指定すると、コマンドをバックグラウンドプロセスとして実行するために使用されるスクリプトに照らして <successCriteria> のテストが行われます。
実行されるコマンドの標準出力およびエラー出力はキャプチャされません。 「details」をクリックすると、終了ステータス 0 と、空の出力、およびエラー出力が表示されます。 しかし、バックグラウンドでネイティブコマンドを開始するのに問題があった場合は、エラーの特性と診断出力に応じ、別の終了ステータスが表示されます。
<outputFile> および <errorFile> 要素を指定する必要があります。 指定したファイルがすでに存在する場合、それらは無効にされます。
outputFile 要素は、実行されるコマンドの標準出力が格納される、エージェント上のローカルファイルのパスを指定するために使用されます。 ローカルファイルのパスは、outputFile 要素内の name 属性で指定します。 相対パスは、コマンドの作業ディレクトリに相対的であると解釈されます。
background 要素を指定する場合は、outputFile 要素を指定する必要があります。
outputFile を指定せず、successCriteria 要素で outputMatches も指定しないと、コマンドの各出力は格納されずに消失します。 outputMatches を指定すると、標準出力は一時ファイルに格納され、コマンドの実行後そのファイルが削除されます。
名前 |
型 |
必須 |
構成可能 |
説明 |
name |
文字列 |
はい |
可能 |
コマンドの標準出力の書き込み先となるファイル。 空でない文字列を指定する必要がある |
errorFile 要素は、実行されるコマンドのエラー出力を格納する、エージェント上のローカルファイルのパスを指定するために使用されます。 ローカルファイルのパスは、errorFile 要素内の name 属性で指定します。 相対パスは、コマンドの作業ディレクトリに相対的であると解釈されます。
background 要素を指定する場合は、errorFile 要素を指定する必要があります。
errorFile を指定せずに、かつ successCriteria 要素で errorMatches を指定しないと、コマンドの各出力は格納されずに消失します。 errorMatches を指定すると、エラー出力は一時ファイルに格納され、コマンドの実行後そのファイルが削除されます。
名前 |
型 |
必須 |
構成可能 |
説明 |
name |
文字列 |
はい |
可能 |
コマンドのエラー出力の書き込み先となるファイル。 空でない文字列を指定する必要がある |
<inputText> 要素は、<execNative> の子要素です。 <inputText> 要素は、コマンドの標準入力に送り込む必要がある任意のテキストを指定します。 このテキストは、この要素のコンテンツとして指定されます。
<inputText> は、CDATA セクションの入力を囲む目的で使用できます。入力を囲むことで、入力フォーマットを保持するとともに、文字 `& や `<' を含む入力で発生しえる解析エラーを防ぐことができます。
(例:
<execNative> <inputText> ls –l |fgrep `*test*'|sort –u >file.out </inputText> <command exec=”sh”/> </execNative> |
<inputText> を指定すると、<execNative> 手順の XML を生成する際に常に CDATA セクション内に包含されます。 inputText 内の文字はすべて、実行されるコマンドにそのままの形で送り込まれます。 inputText に空白文字だけを含めると、それらの空白文字は指定されているとおりに実行されるコマンドの標準入力に送り込まれます。
<inputText> のコンテンツは config 生成されます。
<inputText> 要素に属性はありません。
<inputFile> 要素は、<execNative> の子要素です。 <inputFile> 要素は、実行されるコマンドの標準入力に送り込まれるコンテンツが入った、遠隔リモートエージェント上のローカルファイルのパスを指定するために使用されます。 ローカルファイルのパスは、<inputFile> 要素内の name 属性を使用して指定します。
<inputFile> 要素は、<execNative> コマンド内で <inputText> 要素と併用することはできません。
名前 |
型 |
必須 |
構成可能 |
説明 |
name |
文字列 |
はい |
可能 |
コマンドの入力情報が入ったファイル。 空でない文字列を指定する必要がある。 相対パスを指定した場合、コマンドの作業ディレクトリに対して相対的であると解釈される |
<execNative> 手順には <exec> 要素を 1 つしか含めることができません。 <exec> 要素は、実行されるネイティブコマンドの詳細を指定します。
<exec> 要素には次のものが含まれます。
属性 cmd: 実行するコマンドの名前を指定する
入れ子になった一連の arg 要素: cmd で指定されるコマンドの各引数を指定する
<execNative> は、cmd 内に指定されたコマンドを、指定された引数を順に使用して直接実行します。
次に、<execNative> 手順の例を示します。
<execNative> <exec cmd=”ps”> <arg value=”-fu”/> <arg value=”sps”/> </exec> </execNative> |
この手順は、コマンド ps –fu sps を実行します。
名前 |
型 |
必須 |
構成可能 |
説明 |
cmd |
文字列 |
はい |
可能 |
実行するコマンドのパス。 指定したパスが絶対パスでない場合、RA の PATH 環境変数で指定されたプラットフォームを使用してコマンドの検索が行われる。 空でない文字列を指定する必要がある |
名前 |
数 |
説明 |
arg |
0 またはそれ以上 |
実行するコマンドの引数。 各 arg 要素は、コマンドに対する定位置パラメタを 1 つ定義する |
名前 |
型 |
必須 |
構成可能 |
説明 |
value |
文字列 |
はい |
可能 |
引数値 この引数は、arg がコマンド要素の n 番目の子であるコマンドに n 番目の引数として渡される |
<shell> 要素は、<execNative> の子要素です。 <shell> 要素は、そのコンテンツとして実行されるコマンドを指定します。 実行されるコマンドは、cmd 属性で指定されるインタプリタによってインタプリトされます。 したがって、指定されるコマンドはそのプラットフォームの sh –c `command' 構文を使用して実行されます。 この書式では、コマンドの実行に使用するシェルコマンドを示すために cmd 属性を指定する必要があります。
(例:
<execNative> <shell cmd=”/usr/bin/bash -c”> ls –l |fgrep `*test*'|sort –u >file.out </shell> </execNative> |
このコードは次のコマンドを実行します。
/usr/bin/bash –c `ls –l |fgrep `*test*'|sort –u >file.out' |
書式を保持するとともに XML の解析エラーを回避するため、<execNative> 手順から XML 表現を生成する際には常に CDATA 要素内にコマンドのテキストコンテンツが包含されます。
コマンド文字列を空の状態にしたり、空白文字だけを入れたりすることは認められません。 コマンド文字列は、(周囲の空白も含め) 指定されているとおりにシェルに送られます。
<shell> 要素のコンテンツは config 生成されます。
名前 |
型 |
必須 |
構成可能 |
説明 |
cmd |
文字列 |
はい |
可能 |
`sh –c' 構文内のシェルコマンド。 この文字列には、埋め込みの引用符文字を含めてはならない。 この文字列は、空白を区切りとして使用したシェル名と引数を取得するために解析される。 たとえば、`/usr/bin/bash –c' は空でない文字列でなければならない。 |
<successCriteria> 要素は、<execNative> の子要素です。 <successCriteria> 要素は、<execNative> 手順が正常に実行されたかを評価するために使用される基準を指定します。 この要素が指定されない場合のデフォルト値は次のとおりです。
<successCriteria status=”0”/> |
空の successCriteria を指定すると、successCriteria は無視されます。 次のタグを指定した場合には、
<successCriteria/> |
コマンドがどのような出力または終了コードを生成した場合でも、手順は常に成功します。
名前 |
型 |
必須 |
構成可能 |
説明 |
status |
整数 |
いいえ (複数指定するとそれらの条件の AND (論理積) がとられる) |
不可 |
コマンドの適切な終了ステータス。 正の整数でなければならない |
outputMatches |
文字列 |
可能 |
コマンドによって生成された標準出力を照合する正規表現。 空でない文字列を指定する必要がある |
|
errorMatches |
文字列 |
はい |
コマンドによって生成された標準エラーを照合する正規表現。 空でない文字列を指定する必要がある |
|
inverse |
ブール型 |
いいえ |
不可 |
true に設定すると、successCriteria の echo 要素によって表現された条件は無視される。 デフォルト値は false。 つまり、successCriteria の各属性で指定された条件が満たされない場合だけ手順は成功する |
inverse 属性を true に設定すると、<successCriteria> 内で指定された各条件は無視されます。
たとえば、次の successCriteria を持つ <execNative> 手順の場合、
<successCriteria status=”1” outputMatches=”bin” errorMatches=”none” inverse=”true”/> |
ステータスが 1 でなく、出力が `bin' に一致せず、エラーが `none' に一致しない場合だけ成功します。
inverse 属性だけを含む <successCriteria> 要素は、inverse 属性なしで保存されます。 つまり、次のように指定すると、
<successCriteria inverse=”true”/> |
次のように保存されます。
<successCriteria/> |
結果的に、<successCriteria> は無視されます。