Uso de códigos de salida en los comandos - AWS Systems Manager

• Change Manager de AWS Systems Manager ya no está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de Change Manager de AWS Systems Manager.

 

• El panel de AWS Systems Manager CloudWatch dejará de estar disponible después del 30 de abril de 2026. Los clientes pueden seguir utilizando la consola de Amazon CloudWatch para ver, crear y administrar sus paneles de Amazon CloudWatch, tal y como lo hacen actualmente. Para obtener más información, consulte la documentación del panel de Amazon CloudWatch.

Uso de códigos de salida en los comandos

En algunos casos, es posible que necesite administrar cómo se gestionan los comandos mediante el uso de códigos de salida.

Especificación de códigos de salida en los comandos

Con Run Command, una herramienta de AWS Systems Manager, puede especificar códigos de salida para determinar cómo se gestionan los comandos. De forma predeterminada, el código de salida del último comando ejecutado en un script se registra como el código de salida de todo el script. Suponga, por ejemplo, que tiene un scripts que contiene tres comandos. El primero da un error, pero los demás se ejecutan correctamente. Como el comando final se ejecutó correctamente, el estado de la ejecución se registra como succeeded.

Scripts de shell

Para que todo el script produzca un error en el primer error del comando, puede incluir una declaración condicional de intérprete para salir del script si algún comando anterior al último produce un error. Utilice el siguiente enfoque.

<command 1> if [ $? != 0 ] then exit <N> fi <command 2> <command 3>

En el ejemplo siguiente, se produce un error en todo el script si se produce un error en el primer comando.

cd /test if [ $? != 0 ] then echo "Failed" exit 1 fi date
Scripts de PowerShell

PowerShell requiere que llame explícitamente a exit en sus scripts para que Run Command capture correctamente el código de salida.

<command 1> if ($?) {<do something>} else {exit <N>} <command 2> <command 3> exit <N>

A continuación se muestra un ejemplo:

cd C:\ if ($?) {echo "Success"} else {exit 1} date