command_not_found_handle() { if [[ $2 != =* ]]; then printf '%s: %s: command not found\n' "$0" "$1" >&2 fi } make_assign() { local name equal value read -r name equal value <<< "$BASH_COMMAND" if [[ $equal = =* ]]; then declare -g "$name$equal$value" fi } trap make_assign DEBUG