14.4.5 条件一致の指定方法
--matchオプションで条件を指定することで,実行結果が条件に合うかどうかをリターンコードとして返すことができます。指定した条件に合う場合は0,合わない場合は1が返却されます。詳細は,各サブコマンドのリターンコードの説明を参照してください。なお,サブコマンドの結果の表示内容は,このオプションを指定しなかった場合と同じになります。
--filterオプションと同時に指定している場合は,フィルタリング後の結果が条件に合うかどうかがリターンコードとして返却されます。ただし,警告の表示などによって表示結果が出力されないときは,1が返却されます。
条件を判定する際,値の表示が省略されるセルは,省略された内容が表示されているものとして扱われます。また,データが何もないセルは,空文字列として扱われます。
条件の指定方法が誤っている場合は,コマンドの実行に失敗します。
- 〈この項の構成〉
(1) オプションの指定形式(BNF表記)
--match <一致条件>
<一致条件>::=<Boolean関数条件>|<Value関数条件>|<サマリ条件>
<Boolean関数条件>::=<Boolean関数名>"("<行条件>")"
<Boolean関数名>::=ALL|EXIST
<Value関数条件>::=<Value関数名>"("<行条件>")"<比較演算子(文字列)><文字列>
|<Value関数名>"("<行条件>")"<比較演算子(数値)><数値>
<Value関数名>::=COUNT
<サマリ条件>::=<サマリ名><比較演算子(文字列)><文字列>
|<サマリ名><比較演算子(数値)><数値>
<行条件>::=<列条件>|<列条件><論理演算子><列条件>
<列条件>::=<列名><比較演算子(文字列)><文字列>
|<列名><比較演算子(数値)><数値>
<比較演算子(文字列)>::="=="|"!="
<比較演算子(数値)>::=">"|"<"|">="|"<="
<論理演算子>::="&&"|"||"
<文字列>::=Stringの文字列
<数値>::=Long.parseLong()で変換できる数値- 注意事項
-
次に示す場合は,条件全体を二重引用符(")で囲んでください。
-
<サマリ名>,<列名>,または<文字列>に空白が含まれる場合
-
<比較演算子(数値)>を指定する場合
二重引用符(")で囲まないと,別の引数として扱われたり,不当にリダイレクトされたりするおそれがあります。
-
- 参考
-
BNF表記の読み方については,「14.4.4(1) オプションの指定形式(BNF表記)」を参照してください。
(2) 引数
(a) <一致条件>
<Boolean関数条件>,<Value関数条件>,または<サマリ条件>を指定します。
(b) <Boolean関数条件>
<Boolean関数名>"("<行条件>")"を指定します。
(c) <Boolean関数名>
次の表に示す関数を指定できます。
|
項番 |
関数 |
意味 |
|---|---|---|
|
1 |
ALL(<行条件>) |
すべての行が行条件に合うかどうか |
|
2 |
EXIST(<行条件>) |
行条件に合う行が1つ以上あるかどうか |
(d) <Value関数条件>
<Value関数名>"("<行条件>")"<比較演算子(文字列)><文字列>,または<Value関数名>"("<行条件>")"<比較演算子(数値)><数値>を指定します。
(e) <Value関数名>
次の表に示すValue関数を指定できます。
|
項番 |
関数 |
意味 |
|---|---|---|
|
1 |
COUNT(<行条件>) |
行条件に合う行の数を返す |
(f) <サマリ条件>
<サマリ名><比較演算子(文字列)><文字列>,または<サマリ名><比較演算子(数値)><数値>を指定します。
(g) <サマリ名>
表示内容のサマリ名を指定します。
サマリ名は,--formatオプションおよび--columnオプションの指定に関係なく指定できます。
--formatオプションおよび--columnオプション以外のオプションの指定有無によって表示されないサマリ名は指定できません。例えば,-vオプションを指定した場合にしか表示されないサマリ名は,-vオプションを指定していないときは指定できません。
(i) <列条件>
<列名><比較演算子(文字列)><文字列>,または<列名><比較演算子(数値)><数値>を指定します。
(j) <列名>
表示内容の列名を指定します。
列名は,--formatオプション,--columnsオプションの指定に関係なく指定できます。ただし,--formatオプションおよび--columnオプション以外のオプションの指定有無によって表示されない列の列名は指定できません。例えば,-vオプションを指定した場合にしか表示されない列の列名は,-vオプションを指定していないときは指定できません。
(k) <比較演算子(文字列)>
次の表に示す比較演算子を指定できます。
|
項番 |
比較演算子 |
指定例 |
意味 |
|---|---|---|---|
|
1 |
== |
A == B |
文字列Aが文字列Bのパターンに一致しているかどうか(大文字と小文字は区別されます) |
|
2 |
!= |
A != B |
文字列Aが文字列Bのパターンに一致していないかどうか(大文字と小文字は区別されます) |
(l) <比較演算子(数値)>
次の表に示す比較演算子を指定できます。
|
項番 |
比較演算子 |
指定例 |
意味 |
|---|---|---|---|
|
1 |
> |
A > B |
long値に変換したAが,long値に変換したBより大きいかどうか(Aにデータが何もない場合は,偽になります) |
|
2 |
< |
A < B |
long値に変換したAが,long値に変換したBより小さいかどうか(Aにデータが何もない場合は,偽になります) |
|
3 |
>= |
A >= B |
long値に変換したAが,long値に変換したB以上かどうか(Aにデータが何もない場合は,偽になります) |
|
4 |
<= |
A <= B |
long値に変換したAが,long値に変換したB以下かどうか(Aにデータが何もない場合は,偽になります) |
(m) <論理演算子>
次の表に示す論理演算子を指定できます。
複数の論理演算子を指定した場合,左から順番に評価されます。
|
項番 |
論理演算子 |
指定例 |
説明 |
|---|---|---|---|
|
1 |
&& |
A && B |
AかつB(AとB両方が真のときに真になります。それ以外は偽になります) |
|
2 |
|| |
A || B |
AまたはB(AとBの両方が偽のときに偽になります。それ以外は真になります) |
(n) <文字列>
Stringの文字列を指定します。ワイルドカード(「*」および「?」)が使用できます。
(o) <数値>
Long.parseLong()で変換できる数値を指定します。
(3) 実行例
eztool status -vコマンドで--matchオプションを指定する場合の実行例を次に示します(出力例は省略します)。
■クラスタの起動が完了したかどうかを確認したいとき
■Externalヒープの使用率が70%以上のEADSサーバが存在するかどうかを確認したいとき
■指定したキャッシュ名のキャッシュが存在するかどうかを確認したいとき
■EADSサーバの復旧が完了したかどうかを確認したいとき
■キャッシュファイルの数を監視したいとき