${0##*/}"command1; command2; command 3" All commands execute in a subshell
${0##*/};command 1; command2;command3 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)
${0##*/} command1; command2;command3 First command executes in the subshell (it's an argument). Commands 2&3 execute in the current shell after this script
${0##*/}'x=test; echo \$x' Variable is interpolated inside the single quotes at runtime after receiving Spot Termination notice
Inspired by whenup() / whendown()for hosts and whendone()for processes from interactive bash library .bash.d/* sourced as part of the .bashrc in this repo
For AWS there is a similar adjacent script aws_spot_when_terminated.sh