コマンドでの終了コードの使用
場合によっては、終了コードを使用して、コマンドの処理方法を管理する必要があるかもしれません。
コマンドで終了コードを指定する
AWS Systems Manager の一機能である Run Command を使用すると、終了コードを指定してコマンドの処理方法を決定できます。デフォルトでは、スクリプトで最後に実行されたコマンドの終了コードは、スクリプト全体の終了コードとしてレポートされます。たとえば、3 つのコマンドを含むスクリプトがあるとします。最初のコマンドは失敗しますが、その次のコマンドは成功します。最後のコマンドが成功したため、実行のステータスは succeeded
としてレポートされます。
シェルスクリプト
最初のコマンド失敗時にスクリプト全体を失敗として処理するには、シェルの条件ステートメントを含めて、最後のコマンドが失敗する前にいずれかのコマンドが失敗した場合にスクリプトを終了させることができます。以下の方法を使用します。
<command 1> if [ $? != 0 ] then exit <N> fi <command 2> <command 3>
以下の例では、最初のコマンドが失敗すると、スクリプト全体が失敗します。
cd /test if [ $? != 0 ] then echo "Failed" exit 1 fi date
PowerShell スクリプト
PowerShell では、スクリプトで明示的に exit
を呼び出して、Run Command が終了コードを取得できるようにする必要があります。
<command 1> if ($?) {<do something>} else {exit <N>} <command 2> <command 3> exit <N>
以下がその例です。
cd C:\ if ($?) {echo "Success"} else {exit 1} date