From 1a92d13d5643d62d7ca2e1accdf145d94a3db7ae Mon Sep 17 00:00:00 2001 From: Hari Sekhon Date: Fri, 22 Nov 2019 16:09:00 +0000 Subject: [PATCH] updated aws_spot_when_terminated_execute.sh --- aws_spot_when_terminated_execute.sh | 48 +++++++++++++++++------------ 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/aws_spot_when_terminated_execute.sh b/aws_spot_when_terminated_execute.sh index 3ca767b0..2fd99eb9 100755 --- a/aws_spot_when_terminated_execute.sh +++ b/aws_spot_when_terminated_execute.sh @@ -16,28 +16,38 @@ # https://aws.amazon.com/blogs/aws/new-ec2-spot-instance-termination-notices/ -# Executes the arguments as shell commands when the EC2 instance running this script is notified of Spot Termination -# -# Can be used as a latch mechanism to wait before allowing a shell or script to proceed past calling this script +set -euo pipefail +[ -n "${DEBUG:-}" ] && set -x -# Usage: -# -# ./aws_spot_when_terminated_execute.sh "command1; command2; command 3" All commands execute in a subshell -# -# ./aws_spot_when_terminated_execute.sh; command 1; command2; command 3 All commands execute in current shell -# (notice the semi-colon immediately after the script giving it no argument, merely using it as a latch mechanism) -# -# ./aws_spot_when_terminated_execute.sh command1; command2; command 3 First command executes in the subshell (it's an argument). Commands 2 & 3 execute in the current shell after this script -# -# ./aws_spot_when_terminated_execute.sh 'x=test; echo $x' Variable is interpolated inside the single quotes at runtime after receiving Spot Termination notice -# +usage(){ + cat <