this line has to be corrected.
eval "(${command}) ${outputs} || ( r=$?; F() { KO '$*'; return $1; }; F $r; )"
When the ${command} return non-nul value, KO() is called, which call FATAL() and exit 1. As we are in a subshell (parenthesis), the exit make the subshell exit, instead of the parent script.
this line has to be corrected.
eval "(${command}) ${outputs} || ( r=$?; F() { KO '$*'; return $1; }; F $r; )"
When the ${command} return non-nul value, KO() is called, which call FATAL() and exit 1. As we are in a subshell (parenthesis), the exit make the subshell exit, instead of the parent script.