終了コード


WP-CLIWP-CLI WP-CLIはWordPressのコマンドラインインターフェースであり、管理および開発タスクをプログラムによって実行するために使用されます。プロジェクトページはhttp://wp-cli.org/ https://make.wordpress.org/cli/です。は、広く採用されているUnixの終了コード規則に従います。0は成功(コマンドの主要な条件が満たされた)を示し、0以外の値は主要な条件が満たされなかったことを示します。これは、操作エラー(コマンドが要求された操作を実行できなかった)または、呼び出し元のスクリプトがテストすることを想定された予期される否定的な結果(例:「未インストール」)のいずれかを表します。WP-CLIコマンドを呼び出すスクリプトは、終了コードを調べて処理を続行、再試行、または中止するかどうかを判断できます。

標準終了コード

終了コード 意味
0 コマンドが正常に完了しました。要求された操作は想定どおりに実行されました。
1 コマンドが失敗しました。WP-CLIは操作を想定どおりに実行できませんでした(例:引数が無効、WordPressが見つからない、致命的なエラーが発生した)。

WP_CLI::error()ドキュメント)は、失敗を報告して終了コード1で終了する従来の方法です。

WP_CLI::halt()ドキュメント)は、コマンドが呼び出し元のスクリプトに特定の結果を伝える必要がある場合に、特定の0以外のコードで終了するために使用できます。

ブール値を結果とするコマンドの終了コード

一部のコマンドは、出力ではなく終了コードを通じてバイナリ結果を直接伝えるように設計されています。これらのコマンドも標準の0/1コードを使用しますが、1は「操作エラー」ではなく「条件未達」を意味します。例:

  • wp plugin is-installed <plugin>は、プラグインプラグイン プラグインとは、WordPressウェブサイトに追加できる一連の機能を含むソフトウェアです。WordPressウェブサイトの機能を拡張したり、新しい機能を追加したりできます。WordPressプラグインはPHPプログラミング言語で記述され、WordPressとシームレスに統合されます。WordPress.orgのプラグインディレクトリhttps://wordpress.org/plugins/で無料で入手できるものもあれば、サードパーティ製の有料プラグインもあります。がインストールされている場合は0、されていない場合は1で終了します。
  • wp theme is-installed <theme>も同じパターンに従います。
  • wp core is-installedは、WordPressがインストールされている場合は0、されていない場合は1で終了します。

次の場合は、エラーではなく「条件未達」を示すために終了コード1を使用します。

  1. コマンドの結果がバイナリ(成功/失敗、発見/未発見)であり、シェルの条件式で直接テストすることを意図している。
  2. スクリプト作成者が、終了コードがエラーではなく結果を意味することを理解できるよう、その意図が明確に文書化されている。

情報提供にすぎず、確定的な結果ではない条件に対しては、0以外の終了コードを返さないでください(例:項目が見つからないリストコマンドも、空のリストを返したという意味で正常な操作です)。

スクリプトでの終了コードの使用

WP-CLIは標準の終了コードを使用するため、WP-CLIコマンドをシェルの条件式で直接使用できます。

# アクティベートする前にプラグインがインストールされているか確認
if wp plugin is-installed my-plugin; then
    wp plugin activate my-plugin
else
    echo "プラグインがインストールされていません"
    exit 1
fi

任意のWP-CLIコマンドの後に$?を調べて、コマンドが成功したかどうかを確認することもできます。

wp core update
if [ "$?" -ne 0 ]; then
    echo "更新に失敗しました"
fi