使用命令中的結束程式碼 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用命令中的結束程式碼

在某些情況下,您可能需要管理如何透過使用結束程式碼來處理命令。

在命令中指定結束程式碼

使用 Run Command (AWS Systems Manager 的功能),您可以指定結束程式碼來決定如何處理命令。根據預設,在指令碼中執行的最後一個命令的結束程式碼會報告為整個指令碼的結束程式碼。比方說您有包含三個命令的指令碼。第一個失敗,但後續兩個成功。因為最後一個命令成功,所以執行狀態會報告為 succeeded

Shell 指令碼

若要在第一次命令故障時讓整個指令碼失效,您可以包含一個 shell 條件陳述式,在有任何命令在最後一個命令之前發生失敗時結束指令碼。請使用以下方法。

<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