検索

4.10. if-else 制御フローの使用

download PDF

管理 CLI は、条件を基にして実行するコマンドおよび操作のセットを選択可能にする if-else 制御フローをサポートします。if 条件は、of キーワードの後に指定された管理コマンドまたは操作の応答を評価するブール式です。

注記

入れ子の if-else ステートメントの使用はサポートされません。

以下の項目をどれでも式に含めることができます。

  • 式をグループ化および優先付けするかっこ
  • 条件演算子

    • および (and) (&&)
    • または (or) (||)
  • 比較演算子

    • 等しい (==)
    • 等しくない (!=)
    • より大きい (>)
    • より大きいまたは等しい (>=)
    • より小さい (<)
    • より小さいまたは等しい (<=)
    • 正規表現と一致 (~=)
重要

正規表現と一致 (~=) の演算子はテクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。

テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。

以下は、正規表現と一致 (~=) の演算子を使用して、features システムプロパティーの値に jgroups が含まれるかどうかをチェックします。

if (result ~= ".*jgroups.*") of /:resolve-expression(expression=${features})
  echo Configuring JGroups
end-if

以下の例は、システムプロパティー test の読み取りを試みます。outcomesuccess でない場合 (プロパティーが存在しないことを意味します)、システムプロパティーが追加され、true に設定されます。

if (outcome != success) of /system-property=test:read-resource
    /system-property=test:add(value=true)
end-if

上記の条件は、outcome を使用します。 これは、以下のように of キーワードの後の CLI コマンドが実行されると返されます。

/system-property=test:read-resource
{
    "outcome" => "failed",
    "failure-description" => "JBAS014807: Management resource '[(\"system-property\" => \"test\")]' not found",
    "rolled-back" => true
}

以下の例は、サーバープロセスの起動型 (STANDALONE または DOMAIN) をチェックし、適切な管理 CLI コマンドを実行して ExampleDS データソースを有効にします。

if (result == STANDALONE) of /:read-attribute(name=launch-type)
    /subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true)
else
    /profile=full/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true)
end-if

if-else 制御フローを使用する管理 CLI コマンドをファイルに指定することができ、ファイルには各コマンドを各行に個別に指定します。ファイルを jboss-cli スクリプトに渡すと、--file パラメーターを使用して非対話的に実行されます。

$ EAP_HOME/bin/jboss-cli.sh --connect --file=CLI_FILE
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.